Python字典和集合讲解

  • Post category:Python

Python字典和集合讲解

什么是Python字典?

Python字典(dictionary)是一种可变容器数据类型,用于存储键值对。它是无序的,键必须是唯一的,而值可以是任意的对象。

字典可以通过一对花括号{}和键值对实现初始化,例如:

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'Male'}

在上面的例子中,’name’、’age’、’gender’分别是字典dict1的键,而’Tom’、18和’Male’则是键对应的值。

字典的基本操作

1. 访问字典中的值

可以通过相应的键获取字典中的值,例如:

print(dict1['name']) # 输出Tom

2. 修改字典中的值

dict1['age'] = 20
print(dict1) # 输出{'name': 'Tom', 'age': 20, 'gender': 'Male'}

3. 添加键值对

dict1['city'] = 'Shanghai'
print(dict1) # 输出{'name': 'Tom', 'age': 20, 'gender': 'Male', 'city': 'Shanghai'}

4. 删除键值对

del dict1['gender']
print(dict1) # 输出{'name': 'Tom', 'age': 20, 'city': 'Shanghai'}

5. 获取所有键

print(dict1.keys()) # 输出dict_keys(['name', 'age', 'city'])

6. 获取所有值

print(dict1.values()) # 输出dict_values(['Tom', 20, 'Shanghai'])

7. 获取所有键值对

print(dict1.items()) # 输出dict_items([('name', 'Tom'), ('age', 20), ('city', 'Shanghai')])

8. 判断键是否存在

print('age' in dict1) # 输出True
print('gender' in dict1) # 输出False

示例演示

下面是一个根据球员姓名获取球员信息的示例:

player_dict = {'Lebron James': {'team': 'Los Angeles Lakers', 'number': 23},
               'Stephen Curry': {'team': 'Golden State Warriors', 'number': 30},
               'Kevin Durant': {'team': 'Brooklyn Nets', 'number': 7}}

name = input('请输入球员姓名:')
if name in player_dict:
    print(f"{name}的球队是{player_dict[name]['team']},球衣号码是{player_dict[name]['number']}")
else:
    print(f"没有找到{name}的球员信息")

什么是Python集合?

Python集合(set)是一种无序、不重复的数据集合,它支持集合的数学运算,例如交集、并集、差集等。

集合可通过一对花括号{}和逗号分隔的值来创建,例如:

set1 = {1, 2, 3}

集合的基本操作

1. 添加元素

set1.add(4)
print(set1) # 输出{1, 2, 3, 4}

2. 删除元素

set1.remove(3)
print(set1) # 输出{1, 2, 4}

3. 集合运算

可以使用以下运算符和方法对集合进行常见的集合运算:

  • | 或 union():返回两个集合的并集
  • & 或 intersection():返回两个集合的交集
    • 或 difference():返回两个集合的差集
  • ^ 或 symmetric_difference():返回两个集合的对称差集

例如:

set2 = {3, 4, 5}
print(set1 | set2) # 输出{1, 2, 3, 4, 5}
print(set1 & set2) # 输出{4}
print(set1 - set2) # 输出{1, 2}
print(set1 ^ set2) # 输出{1, 2, 3, 5}

示例演示

下面是一个用户输入一组数字,去重并排序后输出的示例:

input_nums = input('请输入一组数字,以空格分隔:').split()
num_set = set(map(int, input_nums))
sorted_nums = sorted(list(num_set))
print(f"去重并排序后的数字为:{sorted_nums}")

以上就是Python字典和集合的完整介绍和演示,希望能够对你有所帮助。