首页 > 数据库 > 数据库开发技术 > Python 的集合数据类型
Python 集合是一种无序、可变的数据类型,用于存储唯一的元素。Python 中有两种主要的集合类型:set 和 frozenset。set 是可变的,而 frozenset 是不可变的。以下是有关这些类型的详细讲解。
Set
set 是 Python 中的内置集合类型,它是一种无序的、可变的集合。set 中的元素必须是不可变的(例如,数字、字符串或元组),因为set使用哈希表来实现元素的唯一性。
以下是 set 的一些常用操作:
my_set1 = {'apple', 'banana', 'orange'}
my_set2 = set(['apple', 'banana', 'orange'])
my_set = {1, 2, 3}
my_set.add(4)
my_set = {1, 2, 3}
my_set.remove(2)
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 求并集
set3 = set1 | set2
set4 = set1.union(set2)
# 求交集
set5 = set1 & set2
set6 = set1.intersection(set2)
# 求差集
set7 = set1 - set2
set8 = set1.difference(set2)
# 求对称差集
set9 = set1 ^ set2
set10 = set1.symmetric_difference(set2)
Frozenset
frozenset是Python中的另一种集合类型,它是一种不可变的集合。与set不同,frozenset是不可变的,因此可以用作set中的元素或字典中的键。
以下是frozenset的一些常用操作:
my_frozenset1 = frozenset(['apple', 'banana', 'orange'])
my_frozenset2 = frozenset({1, 2, 3})
frozenset1 = frozenset({1, 2, 3})
frozenset2 = frozenset({3, 4, 5})
# 求并集
frozenset3 = frozenset1 | frozenset2
frozenset4 = frozenset1.union(frozenset2)
# 求交集
frozenset5 = frozenset1 & frozenset2
frozenset6 = frozenset1.intersection(frozenset2)
# 求差集
frozenset7 = frozenset1 - frozenset2
frozenset8 = frozenset1.difference(frozenset2)
# 求对称差集
frozenset9 = frozenset1 ^ frozenset2
frozenset10 = frozenset1.symmetric_difference(frozenset2)
以下是一些使用场景说明和对应的代码示例:
my_list = [1, 2, 2, 3, 3, 3]
my_set = set(my_list)
print(my_set)
# {1, 2, 3}
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
set1 = set(list1)
set2 = set(list2)
set3 = set1.intersection(set2)
my_set = {1, 2, 3}
my_set.add(4)
my_set = {1, 2, 3}
my_set.remove(2)
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 求并集
set3 = set1 | set2
set4 = set1.union(set2)
# 求交集
set5 = set1 & set2
set6 = set1.intersection(set2)
# 求差集
set7 = set1 - set2
set8 = set1.difference(set2)
# 求对称差集
set9 = set1 ^ set2
set10 = set1.symmetric_difference(set2)
总结
以上是 Python 中集合数据类型的一些常用方法,它们在实际编程中有着广泛的应用。
原文作者:HelloTech技术派;如有侵权,请联系管理员删除。