赞
踩
1、 d = dict()
2、 d = {
}
3、dict(**kwargs) 使用 name = value 对初始化一个字典
4、dict(iterable, **kwargs) 使用可迭代对象和 name = value 对构造字典
不过可迭代对象的元素必须是一个二元结构
5、dict(mapping, **kwargs) 使用一个字典构造另外一个字典
6、类方法 dict.fromkeys(iterable, value)
d1 = dict.fromkeys(range(5))
d2 = dict.fromkeys(range(5), 5)
d3 = {
'a':10, 'b':20, 'c':None, 'd':[1, 2, 3], 'e':('1', 'a')}
d4 = dict(a=10, b=20, c=30)
d5 = dict(((1, 'a'), (2, 'b')))
for i in [d1, d2, d3, d4, d5]:
print(i, type(i))
{
0: None, 1: None, 2: None, 3: None, 4: None} <class 'dict'>
{
0: 5, 1: 5, 2: 5, 3: 5, 4: 5} <class 'dict'>
{
'a': 10, 'b': 20, 'c': None, 'd': [1, 2, 3], 'e': ('1', 'a')} <class 'dict'>
{
'a': 10, 'b': 20, 'c': 30} <class 'dict'>
{
1: 'a', 2: 'b'} <class 'dict'>
dict1 = dict([(1, 2), ('a', 10), ('c', 100, 200)])
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-c69bd69f2aa3> in <module>
----> 1 dict1 = dict([(1, 2), ('a', 10), ('c', 100, 200)])
ValueError: dictionary update sequence element #2 has length 3; 2 is required
dict2 = dict(([1, 2], ['a', [100]], ('abc', 100), {
'dfg', 'qwe'}))
print(dict2)
{
1: 2, 'a': [100], 'abc': 100, 'qwe': 'dfg'}
1、d[key]
1.1 返回 key 对应的值 value
1.2 key 不存在,抛出 KeyError 异常
2、get(key [,default])
1.1 返回 key 对应的值 value
1.2 key 不存在,返回缺省值,如果没有缺省值,就返回None
3、setdefault(key [,default])
1.1 返回 key 对应的值 value
1.2 key 不存在,添加 kv 对,value 设置为缺省值,并返回缺省值,如果没有缺省值,则为 None
d1 = dict.fromkeys(range(5), 9)
print(1, d1)
print(2, d1.get(1), d1.get(5, 'abc'), d1.get(5))
print(3, d1[0])
print(4, d1[5])
1 {
0: 9, 1: 9, 2: 9, 3: 9, 4:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。