xujiu

 

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

分类:

技术点:

相关文章: