Python 字典(dict)和集合(set)完整攻略
1. 字典(dict)
字典(dict) 是Python的一种数据类型,它是一种映射类型,用键(key)和值(value)这样的方式存储数据。
1.1 创建字典
可以通过{} 或 dict()来创建一个字典。
# 通过{}创建字典
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(my_dict)
# 通过dict()创建字典
my_dict = dict(name='Tom', age=18, gender='male')
print(my_dict)
输出结果:
{'name': 'Tom', 'age': 18, 'gender': 'male'}
{'name': 'Tom', 'age': 18, 'gender': 'male'}
1.2 字典操作
1.2.1 访问字典元素
访问字典元素可以通过键来获取对应的值。
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 通过键来获取对应的值
name = my_dict['name']
print(name)
# 或者使用get()方法
age = my_dict.get('age')
print(age)
输出结果:
Tom
18
当访问不存在的键时,直接通过[]会报错,而get()方法取值则会返回None。
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 通过一个不存在的键来访问字典
my_dict['height'] # 会报错
# 或者使用get()方法
height = my_dict.get('height')
print(height) # 输出 None
1.2.2 修改字典元素
通过访问字典键来修改对应的值。
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 修改gender键对应的值
my_dict['gender'] = 'female'
print(my_dict)
输出结果:
{'name': 'Tom', 'age': 18, 'gender': 'female'}
1.2.3 添加字典元素
通过[]或update()方法来添加字典元素。
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 添加score键对应的值
my_dict['score'] = 90
print(my_dict)
# 或者使用update()方法
my_dict.update({'height': 170})
print(my_dict)
输出结果:
{'name': 'Tom', 'age': 18, 'gender': 'male', 'score': 90}
{'name': 'Tom', 'age': 18, 'gender': 'male', 'score': 90, 'height': 170}
1.2.4 删除字典元素
通过del语句或pop()方法来删除字典元素。
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
# 删除age键对应的元素
del my_dict['age']
print(my_dict)
# 或者使用pop()方法删除
my_dict.pop('name')
print(my_dict)
输出结果:
{'name': 'Tom', 'gender': 'male'}
{'gender': 'male'}
1.3 字典遍历
可以使用for循环来遍历字典的键、值或者键值对。
1.3.1 遍历键
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
for key in my_dict.keys():
print(key)
输出结果:
name
age
gender
1.3.2 遍历值
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
for value in my_dict.values():
print(value)
输出结果:
Tom
18
male
1.3.3 遍历键值对
my_dict = {'name': 'Tom', 'age': 18, 'gender': 'male'}
for k, v in my_dict.items():
print(k + ': ' + str(v))
输出结果:
name: Tom
age: 18
gender: male
2. 集合(set)
集合(set) 是Python的一种数据类型,它是一种无序不重复元素的集合。
2.1 创建集合
可以通过{}或set()来创建一个集合。
# 通过{}创建集合
my_set = {1, 2, 3, 4, 5}
print(my_set)
# 通过set()创建集合
my_set = set([1, 2, 3, 4, 5])
print(my_set)
输出结果:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
2.2 集合操作
2.2.1 添加元素
可以使用add()方法来添加集合元素。
my_set = {1, 2, 3, 4}
# 添加元素5
my_set.add(5)
print(my_set)
输出结果:
{1, 2, 3, 4, 5}
2.2.2 删除元素
可以使用remove()方法或discard()方法来删除元素。
my_set = {1, 2, 3, 4}
# 删除元素2
my_set.remove(2)
print(my_set)
# 删除元素9,因为9不存在于集合中,所以不会报错
my_set.discard(9)
print(my_set)
输出结果:
{1, 3, 4}
{1, 3, 4}
2.3 集合运算
Python的集合类型支持一些常用的运算,包括并集、交集、差集、对称差集等。
2.3.1 并集
使用|运算符来求两个集合的并集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1 | set2
print(set3)
输出结果:
{1, 2, 3, 4, 5}
2.3.2 交集
使用&运算符来求两个集合的交集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1 & set2
print(set3)
输出结果:
{3}
2.3.3 差集
使用-运算符来求两个集合的差集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1 - set2
print(set3)
输出结果:
{1, 2}
2.3.4 对称差集
使用^运算符来求两个集合的对称差集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set3 = set1 ^ set2
print(set3)
输出结果:
{1, 2, 4, 5}
结语
以上就是Python字典(dict)和集合(set)的完整攻略,希望对您有所帮助。