Python-字典

>>> 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仍然是字典;

=========================================

原文地址:https://www.cnblogs.com/yy-is-ing/p/3940441.html