#创建一个空字典 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参数的用法