【Python—字典的用法】创建字典的3种方法

 

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

posted @ 2018-01-26 15:39  徐玖Python  阅读(49815)  评论(0编辑  收藏