要向字典添加元素,首先得有一个字典,假设做一个学生的数学成绩:
math_score = {}
然后就可以直接将key和对应的value按赋值的方式加上去:
math_score['张三'] = 90
这样就ok了
字典是一种hash表,即有key,和key键对应下的value比如说我要初始化一个字典
phonebook={'Alice':'3241','Beth':'9274','Ceil':'3258'}
这样这本字典就有三对项,分别有键(key)和对应的值(value)组成
比如这里Alice,Beth,Ceil都是key
对应的value则分别为3241,9274,3258
key和value之间用冒号(:)隔开,项之间用逗号(,)隔开,整个字典由一对大括号括起来。
比如你要查询beth的电话号码,就可以用这条语句:
print phonebook['Beth']
结果则为9274
现在对字典的基本概念熟悉了吧?!
然后回答下你这个问题。
你要把列表中的元素添加到字典中,那么必须提供key值或value来和d中的{'a','b','c'}对应。
一楼就是其中一个解法,不过有些瑕疵,正确的应该是:
a=dict(zip(d, ['']*3))
a的值即为{'a':'', 'b':'', 'c':''}
此时列表中的元素a,b,c作为key,value的值我们暂定为空
添加键值对首先定义一个空字典
>>>dic={}
直接对字典中不存在的key进行赋值来添加
>>>dic['name']='zhangsan'
>>>dic
{'name': 'zhangsan'}
如果key或value都是变量也可以用这种方法
>>>key='age'
>>>value=30
>>>dic[key]=value
>>>dic
{'age': 30. 'name': 'zhangsan'}
这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表
从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的dump(s)/load(s)也是有序的
还可以用字典的setdefault方法
>>>dic.setdefault('sex','male')
'male'
>>>key='id'
>>>value='001'
>>>dic.setdefault(key,value)
'001'
>>>dic
{'id': '001', 'age': 30. 'name': 'zhangsan', 'sex': 'male'}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)