1. 程式人生 > 其它 >python字典鍵值對的新增和遍歷

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類和雜湊表進行理解