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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DongGeGe214/article/details/52193360

添加键值对

首先定义一个空字典

>>> dic={}

直接对字典中不存在的key进行赋值来添加

>>> dic['name']='zhangsan'
>>> dic
{'name': 'zhangsan'}

如果key或value都是变量也可以用这种方法

>>> key='age'
>>> value=30
>>> dic[key]=value
>>> dic
{'age': 30, 'name': 'zhangsan'}

这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表

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:先获取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

方法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

如果对列表,元组和序列解包不熟悉,最好可以百度一下,深入理解它们。可以结合你熟悉的C#或JAVA语言中的数组、List类和哈希表进行理解

展开阅读全文

没有更多推荐了,返回首页