Python-字典与集合
Python中的字典和集合是两种非常常用的数据结构,它们都可以用来存储一组键值对,但是它们的用途和实现方式有所不同。本文将介绍Python中的字典和集合,并提供一些代码示例和注释。
一、字典
字典是Python中的一种映射类型,它可以用来存储一组键值对,其中键和值可以是任意类型的对象。字典中的键必须是唯一的,而值可以重复。字典的实现方式是哈希表,因此它的查找和插入操作都非常快。
1. 创建字典
可以使用花括号{}或者dict()函数来创建一个空字典,也可以在花括号中添加键值对来创建一个非空字典。
# 创建空字典
empty_dict = {}
empty_dict = dict()
# 创建非空字典
person = {'name': 'Tom' 'age': 18 'gender': 'male'}
person = dict(name='Tom' age=18 gender='male')
2. 访问字典元素
可以使用方括号[]来访问字典中的元素,其中方括号中的内容为键值。
# 访问字典元素
print(person['name']) # 输出:Tom
print(person['age']) # 输出:18
如果访问不存在的键值,则会抛出KeyError异常。
# 访问不存在的键值
print(person['height']) # 抛出KeyError异常
可以使用get()方法来访问字典中的元素,如果键值不存在,则返回None或者指定的默认值。
# 使用get()方法访问字典元素
print(person.get('name')) # 输出:Tom
print(person.get('height')) # 输出:None
print(person.get('height' 170)) # 输出:170
3. 修改字典元素
可以使用方括号[]来修改字典中的元素,其中方括号中的内容为键值。
# 修改字典元素
person['age'] = 20
print(person) # 输出:{'name': 'Tom' 'age': 20 'gender': 'male'}
如果修改不存在的键值,则会添加一个新的键值对。
# 修改不存在的键值
person['height'] = 170
print(person) # 输出:{'name': 'Tom' 'age': 20 'gender': 'male' 'height': 170}
4. 删除字典元素
可以使用del语句来删除字典中的元素,其中del后面跟着要删除的键值。
# 删除字典元素
del person['gender']
print(person) # 输出:{'name': 'Tom' 'age': 20 'height': 170}
5. 遍历字典
可以使用for循环来遍历字典中的键值对,其中每次循环返回一个键值对的元组。
# 遍历字典
for key value in person.items():
print(key value)
输出结果为:
name Tom
age 20
height 170
二、集合
集合是Python中的一种无序不重复元素的容器,它可以用来存储一组元素,其中元素可以是任意类型的对象。集合的实现方式是哈希表,因此它的查找和插入操作都非常快。
1. 创建集合
可以使用花括号{}或者set()函数来创建一个空集合,也可以在花括号中添加元素来创建一个非空集合。
# 创建空集合
empty_set = set()
# 创建非空集合
fruits = {'apple' 'banana' 'orange'}
fruits = set(['apple' 'banana' 'orange'])
2. 访问集合元素
由于集合是无序的,因此不能使用下标来访问集合中的元素。可以使用in关键字来判断一个元素是否在集合中。
# 判断元素是否在集合中
print('apple' in fruits) # 输出:True
print('pear' in fruits) # 输出:False
3. 修改集合元素
由于集合中的元素是不可变的,因此不能直接修改集合中的元素。可以使用add()方法来添加一个元素,使用remove()方法来删除一个元素。
# 添加元素
fruits.add('pear')
print(fruits) # 输出:{'apple' 'banana' 'orange' 'pear'}
# 删除元素
fruits.remove('banana')
print(fruits) # 输出:{'apple' 'orange' 'pear'}
4. 集合运算
可以使用集合运算符来进行集合的交、并、差、对称差等运算。
# 集合运算
set1 = {1 2 3 4}
set2 = {3 4 5 6}
print(set1 & set2) # 输出:{3 4},交集
print(set1 | set2) # 输出:{1 2 3 4 5 6},并集
print(set1 - set2) # 输出:{1 2},差集
print(set1 ^ set2) # 输出:{1 2 5 6},对称差
5. 遍历集合
可以使用for循环来遍历集合中的元素。
# 遍历集合
for fruit in fruits:
print(fruit)
输出结果为:
apple
orange
pear
总结
本文介绍了Python中的字典和集合,包括它们的创建、访问、修改、删除、遍历和运算等操作。字典和集合都是非常常用的数据结构,掌握它们的使用方法对于Python编程非常重要。