赞
踩
集合(set)是一个无序的、不重复的元素集。它是可变的,意味着你可以在集合中添加或删除元素。集合不支持索引,因为它们是无序的。集合的主要用途包括成员资格测试、删除重复项以及数学上的集合运算,如并集、交集和差集。
集合可以通过将逗号分隔的值放在大括号 {} 中或者使用 set() 函数来创建。
# 使用大括号
s = {1, 2, 3}
# 使用 set() 函数
s = set([1, 2, 3])
s = {1, 2, 3}
s.add(4) # 添加元素 4
s.remove(2) # 移除元素 2
print(3 in s) # 检查元素 3 是否存在,输出 True
A = {1, 2, 3}
B = {3, 4, 5}
# 并集
print(A | B) # 输出 {1, 2, 3, 4, 5}
# 交集
print(A & B) # 输出 {3}
# 差集
print(A - B) # 输出 {1, 2}
# 对称差集
print(A ^ B) # 输出 {1, 2, 4, 5}
集合推导式是一种简洁的方式来创建集合。
s = {x for x in range(5)} # 创建一个包含 0 到 4 的集合
集合中的元素必须是可哈希的(hashable),这意味着它们必须是不可变类型,如整数、浮点数、字符串、元组等。列表和字典是不可哈希的,因此不能直接用作集合的元素。集合的主要限制包括:
# 创建一个空集合 empty_set = set() # 尝试添加一个不可哈希的元素(如列表)会导致 TypeError # invalid_set = { [1, 2, 3] } # 这会抛出 TypeError # 集合不能包含自身 # s = {1, 2, 3} # s.add(s) # 这会导致 TypeError # 集合不支持索引 s = {1, 2, 3} # print(s[0]) # 这会导致 TypeError # 集合不能包含重复元素 s.add(2) s.add(2) print(s) # 输出仍然是 {1, 2, 3}
理解集合的限制有助于正确使用这种数据结构,并在编写代码时避免潜在的错误。
Python的集合(set)类型有一些内置方法,以下是一些主要的内置方法:
字典(dictionary)是一种可变的数据结构,它存储键值对。字典是一种非常有用的数据类型,用于存储和检索数据,其中每个键都映射到一个值。键值对在字典中是无序的,并且在 Python 3.7 及以上版本中,字典保持插入顺序。
字典可以通过将键值对放在大括号 {} 中创建,每个键值对由一个键和一个值组成,中间用冒号 : 分隔。键必须是唯一的,并且必须是不可变类型,如字符串、数字或元组。值可以是任何数据类型。
# 使用大括号创建字典
my_dict = {'name': 'Alice', 'age': 25, 'country': 'Wonderland'}
# 使用 dict() 函数创建字典
my_dict = dict(name='Alice', age=25, country='Wonderland')
可以使用键来访问字典中的值。
print(my_dict['name']) # 输出:Alice
# 添加键值对
my_dict['gender'] = 'Female'
# 修改键对应的值
my_dict['age'] = 26
# 删除键值对
del my_dict['country']
# 获取键列表
print(list(my_dict.keys())) # 输出:['name', 'age', 'gender']
# 获取值列表
print(list(my_dict.values())) # 输出:['Alice', 26, 'Female']
# 获取键值对列表
print(list(my_dict.items())) # 输出:[('name', 'Alice'), ('age', 26), ('gender', 'Female')]
# 检查键是否存在
print('name' in my_dict) # 输出:True
字典推导式是一种简洁的方式来创建字典。
# 创建一个字典,键是 1 到 5 的数字,值是数字的平方
squared_dict = {x: x**2 for x in range(1, 6)}
字典的 keys()、items() 和 values() 方法返回的是视图对象,这些视图对象提供了额外的方法:
my_dict = {'a': 1, 'b': 2, 'c': 3} # 获取字典的长度 print(len(my_dict)) # 输出:3 # 获取字典中的所有键 print(my_dict.keys()) # 输出:dict_keys(['a', 'b', 'c']) # 获取字典中的所有值 print(my_dict.values()) # 输出:dict_values([1, 2, 3]) # 获取字典中的所有键值对 print(my_dict.items()) # 输出:dict_items([('a', 1), ('b', 2), ('c', 3)]) # 获取一个键对应的值 print(my_dict.get('a')) # 输出:1 # 添加或更新键值对 my_dict.update({'d': 4}) print(my_dict) # 输出:{'a': 1, 'b': 2, 'c': 3, 'd': 4} # 删除一个键值对 value = my_dict.pop('a') print(value) # 输出:1 print(my_dict) # 输出:{'b': 2, 'c': 3, 'd': 4}
这些内置函数和方法使得字典成为 Python 中一个非常强大和灵活的数据结构。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。