dict函數(shù)用法:1、使用“**kwarg”參數(shù)初始化字典;2、使用“mapping”參數(shù)初始化字典;3、使用“iterable”參數(shù)初始化字典;4、創(chuàng)建空字典。
Python中的dict()函數(shù)用于創(chuàng)建一個字典對象,并可以進(jìn)行鍵值對的初始化。該函數(shù)可以接受一個可迭代對象作為參數(shù),其中每個元素都是一個包含鍵值對的元組。本文將詳細(xì)介紹dict()函數(shù)的用法和示例。
dict()函數(shù)的語法
dict()函數(shù)的語法如下:
dict(**kwarg) dict(mapping, **kwarg) dict(iterable, **kwarg)
登錄后復(fù)制
參數(shù)說明:
**kwarg:鍵值對,用于初始化字典。
mapping:字典,用于初始化字典。
iterable:可迭代對象,每個元素都是一個包含鍵值對的元組。
使用**kwarg參數(shù)初始化字典
當(dāng)以關(guān)鍵字參數(shù)的形式傳遞鍵值對給dict()函數(shù)時,它會將這些鍵值對作為字典的初始化數(shù)據(jù)。例如:
d = dict(a=1, b=2, c=3)
print(d) # 輸出:{'a': 1, 'b': 2, 'c': 3}
登錄后復(fù)制
在上述代碼中,我們使用關(guān)鍵字參數(shù)a=1, b=2, c=3來初始化字典d。
使用mapping參數(shù)初始化字典
當(dāng)以字典作為參數(shù)傳遞給dict()函數(shù)時,它會將該字典的鍵值對作為字典的初始化數(shù)據(jù)。例如:
m = {'a': 1, 'b': 2, 'c': 3}
d = dict(m)
print(d) # 輸出:{'a': 1, 'b': 2, 'c': 3}
登錄后復(fù)制
在上述代碼中,我們使用字典m來初始化字典d。
使用iterable參數(shù)初始化字典
當(dāng)以可迭代對象作為參數(shù)傳遞給dict()函數(shù)時,它會將每個元素作為一個包含鍵值對的元組,將這些元組作為字典的初始化數(shù)據(jù)。例如:
i = [('a', 1), ('b', 2), ('c', 3)]
d = dict(i)
print(d) # 輸出:{'a': 1, 'b': 2, 'c': 3}
登錄后復(fù)制
在上述代碼中,我們使用可迭代對象i來初始化字典d。
dict()函數(shù)的其他用法
dict()函數(shù)還可以用于創(chuàng)建空字典。例如:
d = dict()
print(d) # 輸出:{}
登錄后復(fù)制
如果傳遞給dict()函數(shù)的參數(shù)既有關(guān)鍵字參數(shù),又有字典或可迭代對象參數(shù),那么它會先用關(guān)鍵字參數(shù)進(jìn)行初始化,然后再用字典或可迭代對象參數(shù)進(jìn)行更新。例如:
d = dict(a=1, b=2, c=3, d={'x': 10, 'y': 20}, e=[1, 2, 3])
print(d) # 輸出:{'a': 1, 'b': 2, 'c': 3, 'd': {'x': 10, 'y': 20}, 'e': [1, 2, 3]}
登錄后復(fù)制
如果傳遞給dict()函數(shù)的參數(shù)中有重復(fù)的鍵,那么后面的鍵值對會覆蓋前面的鍵值對。例如:
d = dict(a=1, b=2, c=3, b=4)
print(d) # 輸出:{'a': 1, 'b': 4, 'c': 3}
登錄后復(fù)制
dict()函數(shù)還可以用于將其他類型的對象轉(zhuǎn)換為字典。例如,將一個包含鍵值對的元組列表轉(zhuǎn)換為字典:
t = [('a', 1), ('b', 2), ('c', 3)]
d = dict(t)
print(d) # 輸出:{'a': 1, 'b': 2, 'c': 3}
登錄后復(fù)制
總結(jié)
Python的dict()函數(shù)用于創(chuàng)建和初始化字典對象。它可以接受關(guān)鍵字參數(shù)、字典參數(shù)和可迭代對象參數(shù),并根據(jù)不同的參數(shù)形式來進(jìn)行初始化。在使用dict()函數(shù)時,需要注意鍵的重復(fù)以及鍵值對的順序。同時,dict()函數(shù)還可以用于將其他類型的對象轉(zhuǎn)換為字典。






