Skip to content

散列类型的操作

在 Python 入门阶段,最常见的散列类型是:

  • 字典
  • 集合

和序列类型最大的区别是:它们不靠“位置顺序”作为主要组织方式。

字典是什么

字典是“键值对”结构。

例如:

python
student = {
    "name": "小明",
    "age": 18,
    "city": "北京"
}

这里:

  • nameagecity 是键
  • "小明"18"北京" 是值

字典的查

python
print(student["name"])
print(student["age"])

输出:

text
小明
18

字典的增和改

python
student["job"] = "学生"
student["age"] = 19
print(student)

输出:

text
{'name': '小明', 'age': 19, 'city': '北京', 'job': '学生'}

字典的删

python
del student["city"]
print(student)

字典遍历

python
student = {"name": "小红", "age": 18, "city": "上海"}

for key, value in student.items():
    print(key, value)

输出:

text
name 小红
age 18
city 上海

集合是什么

集合最大的两个特点:

  • 自动去重
  • 无序
python
nums = {1, 2, 2, 3, 4, 4}
print(nums)

输出:

text
{1, 2, 3, 4}

集合常见操作

添加

python
nums.add(5)
print(nums)

成员判断

python
print(3 in nums)
print(10 not in nums)

身份运算符

身份运算符有:

  • is
  • is not

它和 == 的区别非常重要:

  • == 比较值是否相等
  • is 比较是不是同一个对象
python
a = [1, 2]
b = a
c = [1, 2]

print(a == c)
print(a is b)
print(a is c)

输出:

text
True
True
False

成员运算符

成员运算符有:

  • in
  • not in
python
student = {"name": "小王", "age": 20}
print("name" in student)
print("job" not in student)

常见错误

1. 把字典当列表按下标取值

字典不是按位置取值,而是按键取值。

2. 以为集合有固定顺序

集合本来就是无序的。

学完这一页后,你应该能做到

  • 会操作字典
  • 会操作集合
  • 知道 ==is 的区别
  • 会使用 innot in

Built with VitePress.