python-字典dict和集合set

  • Post category:Python

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)的完整攻略,希望对您有所帮助。