Python 字典中一键对应多个值

#字典的一键多值 

print‘方案一 list作为dict的值 值允许重复‘   

d1={}
key=1
value=2
d1.setdefault(key,[]).append(value)
value=2
d1.setdefault(key,[]).append(value) 

print d1 

#获取值
print ‘方案一 获取值‘
print list(d1[key]) 

print ‘方案一 删除值,会留下一个空列表‘
d1[key].remove(value)
d1[key].remove(value)
print d1  

print ‘方案一 检查是否还有一个值‘
print d1.get(key,[]) 

print ‘方案二 使用子字典作为dict的值 值不允许重复‘ 

d1={}
key=1
keyin=2
value=11
d1.setdefault(key,{})[keyin]=value
keyin=2
value=22
d1.setdefault(key,{})[keyin]=value
keyin=3
value=33
d1.setdefault(key,{})[keyin]=value 

print d1 

print ‘方案二 获取值‘
print list(d1[key]) 

print ‘方案二 删除值,会留下一个空列表‘
del d1[key][keyin]
keyin=2
del d1[key][keyin]
print d1 

print ‘方案二 检查是否还有一个值‘
print d1.get(key,()) 

print ‘方案三 使用set作为dict的值 值不允许重复‘
d1={}
key=1
value=2
d1.setdefault(key,set()).add(value)
value=2
d1.setdefault(key,set()).add(value)
value=3
d1.setdefault(key,set()).add(value) 

print d1 

print ‘方案三 获取值‘
print list(d1[key]) 

print ‘方案三 删除值,会留下一个空列表‘
d1[key].remove(value)
value=2
d1[key].remove(value)
print d1  

print ‘方案三 检查是否还有一个值‘
print d1.get(key,())
时间: 2024-08-03 07:06:04

Python 字典中一键对应多个值的相关文章

python字典中键值对的值为中文,打印成转义字符,怎么解决

今天是2019-10-02,学习代码第二天. python字典中键值对中有中文,打印的时候,发现成转义字符了.查了好久,解决.记录一下.useful. 今日份代码: 1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 # 字典和列表的区别 4 # 列表是有序的对象集合,字典是无序的对象集合 5 # 字典的特点,字典用{}定义,使用键值对存储数据,键值对间用,分开 6 # 键--key,索引 值--value,数据 键和值间用:分开 键--唯一的,只能取字

把1到100的数字拆分成字典中的两个键值对 python

需求:把1到100的列表拆分成字典中两个键值对,k1和k2. #!/usr/bin/python num = {} all_list = [] for nu in range(1101): all_list.append(nu) for i in all_list: if i < 75: if 'k1' in num.keys(): num['k1'].append(i) else: num['k1'] = [i, ] else: if 'k2' in num.keys(): num['k2']

判断python字典中key是否存在的两种方法

今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实现. 在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单. 例: 1 2 3 4 5 #生成一个字典 d = {'name':{},'age':{},'sex':{}} #打印返回值 print d.has_key('name') #结果返回True 第二种方法:使用in方法 1 2 3 4 5 #生成一个字典 d = {'name':{}

十四、python字典中的方法汇总

'''1.访问.修改,删除字典中的值:''' dict={'a':'11','b':'22','c':'33','d':'44'}print dict['a'],dict['d'] #访问dict['b']='abc' #修改print dict#删除del dict['c'] #删除字典中的某个值print dictdict.clear() #清空字典print dictdel dict #删除字典--------------------------------------------- 11

Python字典中的值为列表或字典的构造方法

1.值为列表的构造方法 dic = {} dic.setdefault(key,[]).append(value) *********示例如下****** >>dic.setdefault('a',[]).append(1) >>dic.setdefault('a',[]).append(2) >>dic >>{'a': [1, 2]} 2.值为字典的构造方法 dic = {} dic.setdefault(key,{})[value] =1 *******

【python-字典】判断python字典中key是否存在的

一般有两种通用做法: 第一种方法:使用自带函数实现: 在python的字典的属性方法里面有一个has_key()方法: [python] view plain copy #生成一个字典 d = {'name':Tom, 'age':10, 'Tel':110} #打印返回值 print d.has_key('name') #结果返回True 第二种方法:使用in方法: [python] view plain copy #生成一个字典 d = {'name':Tom, 'age':10, 'Tel

python字典中dict.get()和dict.setdefault()的异同点

相同点: 两者是参数相同:dict.get(key, default=None), dict.setdefault(key, default=None) 如果指定的键不存在时,两者都返回默认值,默认是None 如果指定的键存在时,即使设置默认值,返回的还是指定键的值 不同点: 当指定的键不存在时,dict.setdefault()方法可以通过增加键值对来更新字典,而dict.get()方法不行 实例: dict.get(key, default=None) >>>dict_1 = {'N

Python3基础 使用keys() values()和for循环打印一个字典中的所有键和值

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: dict1={'子':'鼠','丑':'牛','寅':'虎','卯':'兔','辰':'龙','巳':'蛇','午':'马','未':'羊','申':'猴','酉':'鸡','戌':'狗','亥':'猪'} #你会发现顺序变了 for eachKey in dict1.keys

Pycharm中怎么给字典中的多个键-值对同时加上单引号

今天看了个爬虫视频,崔庆才讲师的免费视频, 里面一个批量给header加引号2s完成,这波操作让我眼前一亮. 最终还是发现了骚操作的背后手速是真的快. pycharm中按ctrl+r 勾选右上角的Regex 弹窗输入框一输入 (.*?):(.*) 第二个输入框输入 '($1)' : '($2)', 点击Replace all完成批量替换(知乎回答那个也是我,悄悄地) 弹窗输入框一输入 (.*?):(.*)会正常匹配 如果后一个括号内多加了个?则匹配格式会有问题,错误的示范 (.*?):(.*?)