美文网首页Python养成记
14、Python字典(dict)

14、Python字典(dict)

作者: 魔方宫殿 | 来源:发表于2022-03-28 23:08 被阅读0次
    Life is short, you need Python!

    上集回顾:

    1. 集合定义
    2. 集合运算

    列表和元组想要查找某个值必须使用数字下标,有点像古老的结绳记事,时间久了事情多了,可能就不知道某个结点对应的什么事情了。有没有一种数据结构能够使用字符串当索引,这样通过索引名称就能知道该索引记录的内容了。就像记录一个人的数据一样,身高、年龄、体重、性别、电话和地址等等,如果用整数下标1、2、3这样去索引,可能不久就忘记哪个对应哪个了。但是如果age,height等字段去记录对应的值就会清晰明确。必须安排,那就是字典(dict)。

    一、字典定义
    与以连续整数为索引的序列不同,字典以关键字为索引,关键字通常是字符串或数字,也可以是其他任意不可变类型。可以把字典理解为键值对的集合,但字典的键必须是唯一的。花括号 {} 用于创建空字典。另一种初始化字典的方式是,在花括号里输入逗号分隔的键值对,这也是字典的输出方式。字典的主要用途是通过关键字存储、提取值。用 del 可以删除键值对。用已存在的关键字存储值,与该关键字关联的旧值会被取代。通过不存在的键提取值,则会报错。

    >>> student = {'name': 'Jack', 'age': 12, 'gender': 'male', 'phone': '123456'}
    >>> student
    {'name': 'Jack', 'age': 12, 'gender': 'male', 'phone': '123456'}
    >>> student['name']
    'Jack'
    >>> student['age']
    12
    >>> del student['phone']
    >>> student
    {'name': 'Jack', 'age': 12, 'gender': 'male'}
    

    二、字典构造
    字典可用多种方式来创建,作为演示,以下示例返回的字典均等于 {"one": 1, "two": 2, "three": 3}:

    >>> a = dict(one=1, two=2, three=3)
    >>> b = {'one': 1, 'two': 2, 'three': 3}
    >>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
    >>> d = dict([('two', 2), ('one', 1), ('three', 3)])
    >>> e = dict({'three': 3, 'one': 1, 'two': 2})
    >>> f = dict({'one': 1, 'three': 3}, two=2)
    >>> a == b == c == d == e == f
    True
    

    三、常用操作

    1. list(d)
      返回字典 d 中使用的所有键的列表。可以通过键的列表遍历所有字典内容。
    >>> student = {'name': 'Jack', 'age': 12, 'gender': 'male'}
    >>> list(student)
    ['name', 'age', 'gender']
    >>> for key in list(student) :
    ...   print(key, ':', student[key])
    ...
    name : Jack
    age : 12
    gender : male
    
    1. len(d)
      返回字典 d 中的项数。

    2. clear()
      移除字典中的所有元素。

    3. key in d
      如果 d 中存在键 key 则返回 True,否则返回 False。

    4. key not in d
      等价于 not key in d。

    5. get(key[, default])
      如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出则默认为 None,因而此方法绝不会引发KeyError

    >>> student['test']
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'test'
    >>> student.get('test')
    >>> student.get('test', 'testValue')
    'testValue'
    

    本集总结:

    1. 字典定义
    2. 字典构造
    3. 字典常用操作

    下集见

    相关文章

      网友评论

        本文标题:14、Python字典(dict)

        本文链接:https://www.haomeiwen.com/subject/uhbsjrtx.html