Python 集合和多重集合是Python中用于统计元素个数、去重等操作的数据结构。下面介绍一下集合和多重集合的使用方法。
集合
什么是集合
集合是一个无序且不重复的集合,可以用于去重和关系测试等操作。
创建集合
可以使用大括号 {}
或者 set()
函数来创建集合。
# 使用大括号创建集合
a = {1, 2, 3}
print(a) # 输出:{1, 2, 3}
# 使用 set() 函数创建集合
b = set([1, 2, 3])
print(b) # 输出:{1, 2, 3}
集合操作
- 添加元素:使用
add()
方法可以添加一个元素,使用update()
方法可以添加多个元素。
a = {1, 2, 3}
# 添加单个元素
a.add(4)
print(a) # 输出:{1, 2, 3, 4}
# 添加多个元素
a.update([5, 6])
print(a) # 输出:{1, 2, 3, 4, 5, 6}
- 删除元素:使用
remove()
或者discard()
方法可以删除集合中的一个元素。
a = {1, 2, 3, 4, 5, 6}
# 删除单个元素
a.remove(6)
print(a) # 输出:{1, 2, 3, 4, 5}
# 删除不存在的元素不会报错,使用 discard() 方法也是同样效果
a.discard(7)
print(a) # 输出:{1, 2, 3, 4, 5}
- 清空集合:使用
clear()
方法可以清空集合。
a = {1, 2, 3}
a.clear()
print(a) # 输出:set()
- 判断元素是否在集合中:使用
in
关键字可以判断元素是否在集合中。
a = {1, 2, 3}
print(1 in a) # 输出:True
print(4 in a) # 输出:False
示例
# 示例一:去重操作
a = [1, 2, 2, 3, 4, 4, 5]
b = set(a)
print(list(b)) # 输出:[1, 2, 3, 4, 5]
# 示例二:判断重复元素
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
set_a = set(a)
set_b = set(b)
print(set_a & set_b) # 输出:{3, 4, 5}
多重集合
什么是多重集合
多重集合是元素可以重复的集合。
创建多重集合
可以使用 collections
模块中的 Counter()
函数来创建多重集合。
# 导入 collections 模块
import collections
# 创建多重集合
a = collections.Counter([1, 2, 2, 3, 3, 3])
print(a) # 输出:Counter({3: 3, 2: 2, 1: 1})
多重集合操作
多重集合不仅可以使用集合操作,还可以使用多重集合的特有操作。
- 元素个数统计:使用
count()
方法可以统计某个元素在多重集合中出现的次数。
a = collections.Counter([1, 2, 2, 3, 3, 3])
print(a[3]) # 输出:3
- 元素出现次数更新:使用
update()
方法可以更新多重集合中某个元素出现的次数。
a = collections.Counter([1, 2, 2, 3, 3, 3])
a.update([1, 1, 2, 2, 2, 2, 2])
print(a) # 输出:Counter({2: 6, 3: 3, 1: 3})
- 获取出现次数最多的元素:使用
most_common()
方法可以获取多重集合中出现次数最多的元素及其个数。
a = collections.Counter([1, 2, 2, 3, 3, 3])
print(a.most_common(2)) # 输出:[(3, 3), (2, 2)]
示例
# 示例一:计算单词出现次数
sentence = 'the quick brown fox jumps over the lazy dog'
words = sentence.split()
word_counts = collections.Counter(words)
print(word_counts) # 输出:Counter({'the': 2, 'fox': 1, 'quick': 1, 'brown': 1, 'jumps': 1, 'over': 1, 'lazy': 1, 'dog': 1})
# 示例二:计算字符串中出现次数超过一定次数的字符
a = 'abcaabbcabc'
b = collections.Counter(a)
result = [char for char, count in b.items() if count > 2]
print(result) # 输出:['a', 'b', 'c']
以上就是Python 集合和多重集合的使用方法攻略,希望能对你有所帮助。