天天看點

Python Dict用法

#字典的添加、删除、修改操作

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}

dict["w"] = "watermelon"

del(dict["a"])

dict["g"] = "grapefruit"

print dict.pop("b")

print dict

dict.clear()

#字典的周遊

for k in dict:

    print "dict[%s] =" % k,dict[k]

#字典items()的使用

dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"}

#每個元素是一個key和value組成的元組,以清單的方式輸出

print dict.items()

#調用items()實作字典的周遊

for (k, v) in dict.items():

    print "dict[%s] =" % k, v

#調用iteritems()實作字典的周遊

print dict.iteritems()

for k, v in dict.iteritems():

for (k, v) in zip(dict.iterkeys(), dict.itervalues()):

#使用清單、字典作為字典的值

dict = {"a" : ("apple",), "bo" : {"b" : "banana", "o" : "orange"}, "g" : ["grape","grapefruit"]}

print dict["a"]

print dict["a"][0]

print dict["bo"]

print dict["bo"]["o"]

print dict["g"]

print dict["g"][1]

#輸出key的清單

print dict.keys()

#輸出value的清單

print dict.values()

it = dict.iteritems()

print it

#字典中元素的擷取方法

print dict.get("c", "apple")         

print dict.get("e", "apple")

#get()的等價語句

D = {"key1" : "value1", "key2" : "value2"}

if "key1" in D:

    print D["key1"]

else:

    print "None"

#字典的更新

dict = {"a" : "apple", "b" : "banana"}

dict2 = {"c" : "grape", "d" : "orange"}

dict.update(dict2)

#udpate()的等價語句

E = {"key3" : "value3", "key4" : "value4"}

for k in E:

    D[k] = E[k]

print D

#字典E中含有字典D中的key

E = {"key2" : "value3", "key4" : "value4"}

#設定預設值

dict = {}

dict.setdefault("a")

dict["a"] = "apple"

dict.setdefault("a","default")

#調用sorted()排序

dict = {"a" : "apple", "b" : "grape", "c" : "orange", "d" : "banana"}

print dict  

#按照key排序 

print sorted(dict.items(), key=lambda d: d[0])

#按照value排序 

print sorted(dict.items(), key=lambda d: d[1])

#字典的淺拷貝

dict = {"a" : "apple", "b" : "grape"}

dict2 = {"c" : "orange", "d" : "banana"}

dict2 = dict.copy()

print dict2

#字典的深拷貝

import copy

dict = {"a" : "apple", "b" : {"g" : "grape","o" : "orange"}}

dict2 = copy.deepcopy(dict)

dict3 = copy.copy(dict)

dict2["b"]["g"] = "orange"

dict3["b"]["g"] = "orange"

     本文轉自aaron428 51CTO部落格,原文連結:http://blog.51cto.com/aaronsa/1783324,如需轉載請自行聯系原作者