Skip to content

集合

类型名称Dictionary,标识符{}

Python中的字典跟我们生活中使用的字典是一样一样的,它可以存储任意类型对象,与列表、集合不同的是,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开。

使用场景

用于存储循环中动态生成的数据,按照key-value(动态数据)形式存储,以便后续程序能够根据一个标示(key)来获取。

下面的代码演示了如何定义和使用字典。

Python
# 创建字典的字面量语法
scores = {'小白': 95, '白元芳': 78, '狄仁杰': 82}
print(scores)
# 创建字典的构造器语法
items1 = dict(one=1, two=2, three=3, four=4)
# 通过zip函数将两个序列压成字典
items2 = dict(zip(['a', 'b', 'c'], '123'))
# 创建字典的推导式语法
items3 = {num: num ** 2 for num in range(1, 10)}
print(items1, items2, items3)
# 通过键可以获取字典中对应的值
print(scores['小白'])
print(scores['狄仁杰'])
# 对字典中所有键值对进行遍历
for key in scores:
    print(f'{key}: {scores[key]}')
# 更新字典中的元素
scores['白元芳'] = 65
scores['诸葛王朗'] = 71
scores.update(冷面=67, 方启鹤=85)
print(scores)
if '武则天' in scores:
    print(scores['武则天'])
print(scores.get('武则天'))
# get方法也是通过键获取对应的值但是可以设置默认值
print(scores.get('武则天', 60))
# 删除字典中的元素
print(scores.popitem())
print(scores.popitem())
# 删除字典 key(键)所对应的值,返回被删除的值。
print(scores.pop('小白', 100))
del scores['白元芳'] # 删除键 '白元芳',如果键不存在,会报错
# 清空字典
scores.clear()
print(scores)

函数

  • len(dict):计算字典元素个数,即键的总数。
  • str(dict):输出字典,可以打印的字符串表示。

方法

  • dict.keys():返回一个视图对象
Python
# 创建字典的字面量语法
scores = {'小白': 95, '白元芳': 78, '狄仁杰': 82}
print(scores)
keys = scores.keys()
for key in keys:
    print(key)
  • dict.values():返回一个视图对象
Python
# 创建字典的字面量语法
scores = {'小白': 95, '白元芳': 78, '狄仁杰': 82}
print(scores)

values = scores.values()
for value in values:
    print(value)

练习

  1. 创建一个字典,存储学生的姓名和成绩,演示字典的添加、删除和访问操作。

Released under the MIT License