http://developer.51cto.com/art/201003/186006.htm
Python編程語言是一款比較容易學習的計算機通用型語言。對於初學者來說,首先需要掌握的就是其中的一些基礎應用。比如今天我們為大家介紹的Python字典的相關操作,就是我們在學習過程中需要熟練掌握的技巧。
Python字典(Dictionary)是一種映射結構的數據類型,由無序的“鍵-值對”組成。字典的鍵必須是不可改變的類型,如:字符串,數字,tuple;值可以為任何Python數據類型。
1、新建Python字典
- >>> dict1={} #建立一個空字典
- >>> type(dict1)
- < type 'dict'>
2、增加Python字典元素:兩種方法
- >>> dict1['a']=1 #第一種
- >>> dict1
- {'a': 1}
- #第二種:setdefault方法
- >>> dict1.setdefault('b',2)
- 2
- >>> dict1
- {'a': 1, 'b': 2}
3、刪除Python字典
- #刪除指定鍵-值對
- >>> dict1
- {'a': 1, 'b': 2}
- >>> del dict1['a'] #也可以用pop方法,dict1.pop('a')
- >>> dict1
- {'b': 2}
- #清空字典
- >>> dict1.clear()
- >>> dict1 #字典變為空了
- {}
- #刪除字典對象
- >>> del dict1
- >>> dict1
- Traceback (most recent call last):
- File "< interactive input>", line 1, in < module>
- NameError: name 'dict1' is not defined
4)對字典的遍歷
python 代碼
>>> table = {'abc':1, 'def':2, 'ghi':3}
>>> for key in table.keys():
print key, '/t', table[key]
abc 1
ghi 3
def 2
Python字典嵌套字典與排序
http://muilpin.blog.163.com/blog/static/16538293620113112549775/
背景:計算圖形中任意點與點的曼哈頓距離:
x=[1,2,3,4,5,6,7,8,9,2]
y=[2,3,2,5,6,7,2,3,5,5]
n=10
distance=[[0 for j in range(n)]for i in range(n)]
定義二層嵌套字典與二維數組:
result={}
for i in range(n):
result[str(i)]={} #定義嵌套字典
另外定義二維數組與字典方式不一樣:
n=16
distance=[[0 for j in range(n)]for i in range(n)]
給字典賦值:
for i in range(n):
for j in range(n):
distance[i][j]=abs(x[i]-y[j]) #計算曼哈頓距離
result[str(i)][str(j)]=distance[i][j]
字典按照值(values)排序:
result_sort[i]=[(k,v) for (k,v) in result[str(i)].iteritems()] #將嵌套中第二維字典的轉變成列表
使用列表排序函數sorted()排序:
result_sort[i]=sorted(result_sort[i],key=lambda x:x[1],reverse=False)
Python多維/嵌套字典數據無限遍歷
http://www.cnblogs.com/lhj588/archive/2012/05/24/2516046.html