>>> D = {'spam': 2, 'ham': 1, 'eggs': 3}
>>> list(D.keys())
['eggs', 'ham', 'spam']
>>> list(D.values())
[3, 1, 2]
>>> list(D.items())
[('eggs', 3), ('ham', 1), ('spam' ,2)]
查看字典的key内容,必须用list
注意,字典内根据key,自动进行排序
============================================
>>> D['brunch'] = 'Bacon'
>>> D
{'brunch': 'Bacon', 'spam': 2, 'ham': 1, 'eggs': 3}
添加新的内容,可以直接添加;
>>> D['brunch'] = 'Canon'
>>> D
{'brunch': 'Canon', 'spam': 2, 'ham': 1, 'eggs': 3}
修改key内容
============================================
>>> D.get('spam')
2
>>> D.get('toast')
>>> print(D.get('toast'))
None
>>> D.get('toast', 88)
88
如果key不存在时,直接通过.get方式是不会有任何返回值,print出来的结果只是None;
用户可以自己设定默认值,以避免出现missing-key的情况下,可能出现的错误
============================================
>>> D2 = {'toast': 4, 'brunch': 'Bacon'}
>>> D.update(D2)
>>> D
{'toast':4, 'brunch': 'Bacon', 'spam': 2, 'ham': 1, 'eggs': 3}
字典更新字典(可增加key,可更新key)
>>> D.pop('toast')
4
>>> D
{'brunch': 'Bacon', 'spam': 2, 'ham': 1, 'eggs': 3}
pop函数,可用于去除key
============================================
创建字典的四种方式
{'name' : 'mel', 'age' : 45} 适用于一次性拼出整个字典
D={} 适用于一次动态的建立字典的一个字段
D['name']='mel'
D['age'] = 45
dict(name='mel', age=45) 适用于key都是字符串的情况
dict([('name', 'mel'), ('age', 45)]) 适用于想要在程序运行时,把key与value逐步建成序列
============================================
>>> D = {k:v for (k, v) in zip(['a','b','c'], [1,2,3])}
>>> D
{'a': 1, 'c': 3, 'b': 2}
注意:如果在zip中,键(key)与值(value)的位数不同,则选择少的一个组建,不会自动补填;
=============================================
>>> D = dict.fromkeys(['a', 'b', 'c'], 0) #Initialize dict from keys
>>> D
{'a':0, 'c':0, 'b':0}
>>> D = dict.fromkeys('spam') #Other iterators, default value
>>> D
{'a': None, 'p': None, 's':None, 'm': None}
=============================================
字典创建后,可以进行动态的反应在视图对象创建之后对字典做出的修改:
>>> D = {'a': 1, 'b': 2, 'c': 3}
>>> D
{'a': 1, 'c': 3, 'b': 2}
>>> K = D.keys()
>>> V = D.values()
>>> list(K)
['a', 'c', 'b']
>>> list(V)
[1, 3, 2]
>>> del D['b']
>>> D
['a' : 1, 'c': 3]
>>> list(K)
['a', 'c']
>>> list(V)
[1, 3]
=========================================
>>> E = D.items() | {('c', 3), ('d', 4)}
{('a', 1), ('d', 4), ('c', 3)} # Set of key/value pairs, not set anymore
>>> F = dict(D.items() | {('c', 3), ('d', 4)})
{'a': 1, 'c': 3, 'd': 4} # dict accepts iterable sets too
E已经变成集合,非字典,而F仍然是字典;
=========================================