美文网首页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