字典的创建方法

  1. 定义法
  2. zip()


字典元素的读取操作、

  1. dict.[‘key’]
  2. dict.get()

调取方法(键值对、键值、值)

  1. dict.itemvalues()
  2. dict.keyvalues()
  3. dict.values()

字典序列解包赋值
{}=’’
修改(增加 删除)
增加

  1. dict[]=value, 如果已有key值,则覆盖原有值;如果无key值则在字典中新加。
  2. fromkeys()

删除
del() clear() pop() popitem()
其他操作
交 并 差

字典的创建方法

  • 定义法

    1. >>> dic1 = {'a':1, 'b':2, 'c':3}
    2. >>> dic1
    3. {'a': 1, 'b': 2, 'c': 3}
  • dict() ```python

    dic2 = dict(name = ‘魏东’, age=30, sex=’男’) # 键值不需要用引号 dic2 {‘name’: ‘魏东’, ‘age’: 30, ‘sex’: ‘男’} dic3 = dict([(‘name’, ‘魏东’),(‘age’,30),(‘sex’,’男’)]) #dict()函数中如果argument多于1个会报警 dic3 {‘name’: ‘魏东’, ‘age’: 30, ‘sex’: ‘男’}

warning dic4= dict((‘name’, ‘魏东’),(‘age’,30),(‘sex’,’男’)) Traceback (most recent call last): File ““, line 1, in dic4= dict((‘name’, ‘魏东’),(‘age’,30),(‘sex’,’男’)) TypeError: dict expected at most 1 argument, got 3

  1. - zip()
  2. ```python
  3. >>> lis1 =[0,1]
  4. >>> lis2 = [2, 3]
  5. >>> lis3 = [3, 4]
  6. >>> zip(lis1, lis2, lis3)
  7. <zip object at 0x000001A76BC706C0>
  8. >>> dic = dict(zip(lis1, lis2, lis3))
  9. Traceback (most recent call last):
  10. File "<pyshell#4>", line 1, in <module>
  11. dic = dict(zip(lis1, lis2, lis3))
  12. ValueError: dictionary update sequence element #0 has length 3; 2 is required
  13. >>> dic = dict(zip(lis1, lis2))
  14. >>> dic
  15. {0: 2, 1: 3}
  • fromkeys() 可以创建值为空的字典(目前不清楚使用方向)

    1. >>> dic={}
    2. >>> dic.fromkeys(['a', 'b', 'c'])
    3. {'a': None, 'b': None, 'c': None}
    4. >>> dic
    5. {}

    字典值获得的方法

    字典中值的获得方法

  • get()

get()主要是为了获取,给定键在字典中录入的值。

  1. >>> dic = {'a':1, 'b':2, 'c':3, 'd':4}
  2. >>> dic
  3. {'a': 1, 'b': 2, 'c': 3, 'd': 4}
  4. >>> dic.get('a')
  5. 1

如果字典中没有相应的键则返回None

  1. >>> dic.get('f') # 如果键不存在,通过print()输出为None
  2. >>> print(dic.get('f'))
  3. None
  4. >>> dic.get('f', 9) #可以给定键不存在时的默认值
  5. 9
  6. >>> dic
  7. {'a': 1, 'b': 2, 'c': 3, 'd': 4}
  • 定义法

如果字典中有key值则在使用时调取value,如果没有key值,则显示keyerror.此法也可用于字典中元素的修改.

  1. >>> dic1 = {'a':1, 'b':2, 'c':3, 'd':4}
  2. >>> dic1['a']
  3. 1
  4. >>> dic1['e']
  5. Traceback (most recent call last):
  6. File "<pyshell#5>", line 1, in <module>
  7. dic1['e']
  8. KeyError: 'e'

键值对的查阅

  1. >>> dic1 = {'a':1, 'b':2, 'c':3, 'd':4}
  2. >>> dic1.items()
  3. dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
  4. >>> dic1.values()
  5. dict_values([1, 2, 3, 4])
  6. >>> dic1.keys()
  7. dict_keys(['a', 'b', 'c', 'd'])

字典值的修改、增加、删除

增加与修改

  • 定义法

    >>> dic1 =  {'a':1, 'b':2, 'c':3, 'd':4}
    >>> dic1['e']=2
    >>> dic1
    {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 2}
    
  • setdefault()

setdefault()方法与get()方法类似,当检索到字典中没有此键时,会自动添加相应的值。

>>> dic = {}
>>> dic.setdefault('a', '1')
'1'
>>> print(dic)
{'a': '1'}

除可以设定默认值外,setdefault()还可以将默认值设为空字典和列表,并执行相关操作。

>>> dic.setdefault('b', {})                  # 检索'b'是否存在,并将{}设置为默认值
{}
>>> dic
{'a': '1', 'b': {}}

>>> dic.setdefault('c',[]).append('列表添加') # 执行列表的相关方法
>>> dic
{'a': '1', 'b': {}, 'c': ['列表添加']}
  • update()

    >>> dic1
    {'b': 2, 'c': 3, 'd': 4}
    >>> dic2={'a':10}
    >>> dic1.update(dic2)
    >>> dic1
    {'b': 2, 'c': 3, 'd': 4, 'a': 10}
    

    删除

  • pop()与popitem()

    >>> dic1
    {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 2}
    >>> dic1.pop('a')
    1
    >>> dic1
    {'b': 2, 'c': 3, 'd': 4, 'e': 2}
    >>> {'b': 2, 'c': 3, 'd': 4, 'e': 2}
    {'b': 2, 'c': 3, 'd': 4, 'e': 2}
    >>> dic1.popitem()
    ('e', 2)
    
  • del() clear()

    其他 ★★★

    系列解包赋值

    列表字典表格