python字典键值对的添加和遍历

python字典键值对的添加和遍历


添加键值对
首先定义一个空字典
>>> dic={}

直接对字典中不存在的key进行赋值来添加
>>> dic['name']='zhangsan'
>>> dic
{'name': 'zhangsan'}
1
2
3
如果key或value都是变量也可以用这种方法
>>> key='age'
>>> value=30
>>> dic[key]=value
>>> dic
{'age': 30, 'name': 'zhangsan'}
1
2
3
4
5
这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表

2019-02-22更新开始:

从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的dump(s)/load(s)也是有序的
https://docs.python.org/3/library/stdtypes.html#dict.values

2019-02-22更新结束。

还可以用字典的setdefault方法
>>> dic.setdefault('sex','male')
'male'
>>> key='id'
>>> value='001'
>>> dic.setdefault(key,value)
'001'
>>> dic
{'id': '001', 'age': 30, 'name': 'zhangsan', 'sex': 'male'}
1
2
3
4
5
6
7
8
遍历字典
这里有两种方法

方法1:先获取key,然后通过dic[key]获取value
>>> for key in dic:
... print 'key is %s,value is %s'%(key,dic[key])
...
key is id,value is 001
key is age,value is 30
key is name,value is zhangsan
key is sex,value is male
1
2
3
4
5
6
7
方法2:对字典items()方法返回的元组列表进行序列解包
>>> for key,value in dic.items():
... print 'key is %s,value is %s'%(key,value)
...
key is id,value is 001
key is age,value is 30
key is name,value is zhangsan
key is sex,value is male
1
2
3
4
5
6
7
如果对列表,元组和序列解包不熟悉,最好可以百度一下,深入理解它们。可以结合你熟悉的C#或JAVA语言中的数组、List类和哈希表进行理解

上一篇:字母异位词分组


下一篇:json文件