字典

Python for Developers 入门

Jasmin Ludolf

Senior Data Science Content Developer

配料清单

ingredients = ["pasta", "tomatoes", "garlic", "basil", "olive oil", "salt"]

# 配料用量(克) quantities = [500, 400, 15, 20, 30, 5]
Python for Developers 入门

字典

  • 字典 = 键-值对

标注了单词(键)和定义(值)的词典

1 https://unsplash.com/@sandym10
Python for Developers 入门

为何使用字典?

  • username
  • email
  • preferences

 

  • ip_address
  • location

$$

  • 配方缩放器:将配料与用量关联

用户信息

计算机网络

1 User image by Bilobaba Vladimir, Aviavlad; https://unsplash.com/@jjying
Python for Developers 入门

创建字典

# 创建字典
recipe = 
Python for Developers 入门

创建字典

# 创建字典
recipe = {
Python for Developers 入门

创建字典

# 创建字典
recipe = {"pasta"
Python for Developers 入门

创建字典

# 创建字典
recipe = {"pasta":
Python for Developers 入门

创建字典

# 创建字典
recipe = {"pasta": 500
Python for Developers 入门

创建字典

# 创建字典
recipe = {"pasta": 500,
Python for Developers 入门

创建字典

# 创建字典
recipe = {"pasta": 500,
          "tomatoes": 400,
Python for Developers 入门

创建字典

# 创建字典
recipe = {"pasta": 500,
          "tomatoes": 400, 
          "garlic": 15,
          "basil": 20, 
          "olive oil": 30,
          "salt": 5
Python for Developers 入门

创建字典

# 创建字典
recipe = {"pasta": 500,
          "tomatoes": 400, 
          "garlic": 15,
          "basil": 20, 
          "olive oil": 30,
          "salt": 5}
Python for Developers 入门

按键访问值

  • 字典是有序的

    • 允许通过键索引访问值
  • 需要多少意面?

# 查找配料用量
print(recipe["pasta"])
500
Python for Developers 入门

获取所有值

# 获取字典的所有值
print(recipe.values())
dict_values([500, 400, 15, 20, 30, 5])
Python for Developers 入门

获取所有键

# 获取字典的所有键
print(recipe.keys())
dict_keys(['pasta', 'tomatoes', 'garlic', 'basil', 'olive oil', 'salt'])
Python for Developers 入门

查看整个字典

# 打印字典
print(recipe)
{'pasta': 500, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5}
# 获取所有项(键-值对)
print(recipe.items())
dict_items([('pasta', 500), ('tomatoes', 400), ('garlic', 15), ('basil', 20), 
('olive oil', 30), ('salt', 5)])
Python for Developers 入门

添加键-值对

# 添加新的键-值对
recipe["parmesan"] = 50
print(recipe)
{'pasta': 500, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5, 'parmesan': 50}
Python for Developers 入门

更新值

print(recipe)
{'pasta': 500, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5, 'parmesan': 50}
# 更新已有键对应的值
recipe["pasta"] = 1000
print(recipe)
{'pasta': 1000, 'tomatoes': 400, 'garlic': 15, 'basil': 20, 'olive oil': 30,
'salt': 5, 'parmesan': 50}
Python for Developers 入门

重复键

# 创建含重复键的字典
recipe = {"pasta": 500, "garlic": 5, 
          "garlic": 15, "basil": 20, 
          "olive oil": 30, "salt": 5}

# 打印重复键的值 print(recipe["garlic"])
15
Python for Developers 入门

Passons à la pratique !

Python for Developers 入门

Preparing Video For Download...