📜  Python集合模块(1)

📅  最后修改于: 2023-12-03 15:19:36.832000             🧑  作者: Mango

Python集合模块

Python集合模块提供了各种集合(set)类型的实现。集合是一个无序的、不重复的数据集合。Python种内置了三种集合类型, 分别是:set、frozenset和collections模块中的Counter。

set

set是Python自带的一个数据类型,用于存储无序不重复的元素集合。set主要具有以下几个特点:

  • 元素不重复
  • 元素无序
  • 支持添加和删除元素

以下是一个创建set和基本操作的示例:

# 创建一个set
my_set = {'apple', 'orange', 'banana'}

# 添加元素
my_set.add('lemon')

# 删除元素
my_set.remove('orange')

# 打印set
print(my_set)

输出结果:

{'lemon', 'apple', 'banana'}
frozenset

frozenset和set类似,也是用来存储无序不重复的元素集合,但不同的是frozenset是不可变的,也就是说一旦创建就不能修改它的元素。

以下是一个创建frozenset和基本操作的示例:

# 创建一个frozenset
my_frozenset = frozenset({'apple', 'orange', 'banana'})

# 获取元素个数
print(len(my_frozenset))

# 判断元素是否在frozenset中
print('Mango' in my_frozenset)

输出结果:

3
False
collections模块中的Counter

collections.Counter是Python内置的一个计数器工具,用于统计字符,单词等的个数。其主要特点如下:

  • 返回一个字典,其中为元素计数
  • 支持计算两个Counter的并、交、差
  • 支持像字典一样的读取和修改计数器中的元素

以下是一个使用Counter示例:

import collections

# 创建一个Counter
my_counter = collections.Counter('hello python')

# 获取字母'o'出现的次数
print(my_counter['o'])

# 获取前3个出现次数最多的元素
print(my_counter.most_common(3))

输出结果:

2
[('h', 2), ('o', 2), ('l', 2)]

以上就是Python集合模块的一些基本介绍和示例。