2023-08-24 02:55:44
Python集合(Set)的精髓用法可通过创建、操作、运算及实际应用几个方面掌握,以下是具体示例与说明:
一、集合的创建方法1:通过可迭代对象创建使用set()函数将列表、元组等可迭代对象转换为集合,自动去除重复元素。
list1 = [2, 3, 2, 3, 3, 2, 1]a = set(list1)print(a) # 输出: {1, 2, 3}
方法2:直接使用{}创建非空集合空集合必须用set()创建,因为{}表示空字典。
a = {} # 创建空字典b = set() # 创建空集合添加元素
add():添加单个元素(元素类型需不可变,如数字、字符串、元组)。
a = set()a.add(4)print(a) # 输出: {4}问题:能否添加列表[2]?答案:不能,因为列表是可变类型,会引发TypeError。
update():添加多个元素(参数为可迭代对象,如列表、元组、字符串)。
a = set()a.update([5, 6]) # 添加列表a.update((7, 8)) # 添加元组a.update("hello") # 添加字符串(拆分为单个字符)print(a) # 输出: {5, 6, 7, 8, 'h', 'e', 'l', 'o'}问题:输入字符串"2,3,2"会怎样?答案:字符串会被拆分为字符,结果为{'2', ',', '3'}。
删除元素
remove():删除指定元素,若元素不存在则报错KeyError。
a = {2, 3}a.remove(2)print(a) # 输出: {3}# a.remove(5) # 报错: KeyError: 5discard():删除指定元素,若元素不存在则不报错。
a = {2, 3}a.discard(2)print(a) # 输出: {3}a.discard(5) # 无报错集合支持数学中的集合运算,适用于数据比较与筛选:
并集:合并两个集合的所有元素(去重)。
set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6}print(set1 | set2) # 输出: {1, 2, 3, 4, 5, 6}交集:返回两个集合共有的元素。
print(set1 & set2) # 输出: {3, 4}差集:返回仅存在于第一个集合的元素。
print(set1 - set2) # 输出: {1, 2}对称差集:返回仅存在于其中一个集合的元素。
print(set1 ^ set2) # 输出: {1, 2, 5, 6}数据去重:将列表转换为集合去除重复项,再转回列表。
data = [1, 2, 2, 3, 4, 4, 4, 5]unique_data = list(set(data))print(unique_data) # 输出: [1, 2, 3, 4, 5](顺序可能不同)成员测试:快速判断元素是否属于集合。
my_set = {1, 2, 3, 4, 5}print(3 in my_set) # 输出: Trueprint(6 in my_set) # 输出: False通过以上示例与练习,可全面掌握集合的基础用法与高效技巧。