4-字典

dict从其他映射(如其他字典)或键值对序列创建字典。

基本的字典操作

  • len(d)返回字典d包含的项(键值对)数。
  • d[k]返回与键k相关联的值。
  • d[k] = v将值v关联到键k。
  • del d[k]删除键为k的项。
  • k in d检查字典d是否包含为k的项。

将字符串格式设置功能用于字典

>>> phonebook {'Beth': '9102', 'Alice': '2341', 'Cecil': '3258'}
>>> "Cecil's phone number is {Cecil}.".format_map(phonebook)
"Cecil's phone number is 3258."

字典方法

  1. clear方法

    clear删除所有的字典项,这种操作是就地执行的(就像list.sort一样),因此什么都不返回(或者说返回None)。

  2. copy方法

    copy返回一个新字典,其包含的键值对与原来的字典相同(这个方法执行的是浅复制,因为值本身是原件,而非副本)。

    当替换副本中的值时,原件不受影响。然而,如果修改副本中的值(就地修改而不是替换),原件也将发生变化

    为避免这种问题,一种办法是执行深复制,即同时复制值及其包含的所有值,等等。为此,可使用模块copy中的函数deepcopy。

  3. fromkeys方法

    fromkeys创建一个新字典,其中包含指定的键,且每个键对应的值都是None。

    >>> {}.fromkeys(['name', 'age'])
    {'age': None, 'name': None}
    

    而是直接对dict(前面说过,dict是所有字典所属的类型。类和类型将在第7章详细讨论)调用方法fromkeys。
    如果你不想使用默认值None,可提供特定的值。

    >>> dict.fromkeys(['name', 'age'])
    {'age': None, 'name': None}
    >>> dict.fromkeys(['name', 'age'], '(unknown)')
    {'age': '(unknown)', 'name': '(unknown)'}
    
  4. get

    使用get来访问不存在的键时,没有引发异常,而是返回None。你可指定“默认”值,这样将返回你指定的值而不是None。

  5. items方法

    items返回一个包含所有字典项的列表,其中每个元素都为(key, value)的形式。字典项在列表中的排列顺序不确定。
    返回值属于一种名为字典视图的特殊类型。字典视图可用于迭代(迭代将在第5章详细介绍)。另外,你还可确定其长度以及对其执行成员资格检查。

    视图的一个优点是不复制,它们始终是底层字典的反映,即便你修改了底层字典亦如此。

  6. keys方法

    keys返回一个字典视图,其中包含指定字典中的键。

  7. pop方法

    pop可用于获取与指定键相关联的值,并将该键值对从字典中删除。

    >>> d = {'x': 1, 'y': 2}
    >>> d.pop('x')
    1
    
  8. popitem方法

    popitem类似于list.pop,但list.pop弹出列表中的最后一个元素,而popitem随机地弹

  9. setdefault方法

    setdefault它获取与指定键相关联的值,setdefault还在字典不包含指定的键时,在字典中添加指定的键-值对。

  10. update方法

    update使用一个字典中的项来更新另一个字典。

  11. values方法

    values返回一个由字典中的值组成的字典视图。不同于方法keys,方法values返回的视图可能包含重复的值。

猜你喜欢

转载自blog.csdn.net/qq_40570025/article/details/83213649
今日推荐