#創建一個空字典
empty_dict = dict() print(empty_dict)
#用**kwargs可變參數傳入關鍵字創建字典
a = dict(one=1,two=2,three=3) print(a)
#傳入可迭代對象
b = dict(zip(['one','two','three'],[1,2,3]))
print(list(zip(['one','two','three'],[1,2,3])))
print(b)
#傳入可迭代對象
c = dict([('one', 1), ('two', 2), ('three', 3)])
print(c)c1 = dict([('one', 1), ('two', 2), ('three', 3),('three', 4),('three', 5)])
print(c1)#如果鍵有重複,其值為最後重複項的值。
#傳入映射對象,字典創建字典
d = dict({'one': 1, 'two': 2, 'three': 3}) print(d) print(a == b == c == d)
輸出:
{}{'one': 1, 'two': 2, 'three': 3}[('one', 1), ('two', 2), ('three', 3)]{'one': 1, 'two': 2, 'three': 3}{'one': 1, 'two': 2, 'three': 3}{'one': 1, 'two': 2, 'three': 5}{'one': 1, 'two': 2, 'three': 3}True
知識點:
class dict(**kwarg)class dict(mapping, **kwarg)class dict(iterable, **kwarg)
在python中,*arg表示任意多個無名參數,類型為tuple;**kwargs表示關鍵字參數,為dict。參考【Python—參數】*arg與**kwargs參數的用法
在python官方文檔中說明,如果傳入的是可迭代對象,則可迭代對象中的每一項自身必須是可迭代的,並且每一項只能有兩個對象。第一個對象成為新字典的鍵,第二個對象成為其鍵對應的值。如果鍵有重複,其值為最後重複項的值。
# 用 class dict(mapping, **kwarg) 創建一個併集字典,會影響相同鍵不同值的項 union = dict(s1,**s2)
print (union)
輸出:
{'d': 4, 'a': 3, 'e': 3, 'f': 4, 'c': 4, 'b': 3}
知識點:
在函數調用時,**會以鍵/值對的形式解包一個字典,使其成為獨立的關鍵字參數。參考【Python—參數】*arg與**kwargs參數的用法
文章來源:https://www.cnblogs.com/xujiu/p/8352608.html