Python set()
更新:2022-07-24 11:11
内置函数 set()
用于在 Python 中创建集合。该集合是存储多个数据的单个变量,它应该是无序的和无索引的,并且不能允许重复的值。
set(iterable) # where iterable can be string, tuple, set, dictionary, etc.
set() 参数:
它只需要一个参数。使用 {}
我们不能创建空集,它会创建一个空字典,所以我们使用 set()
来创建一个空集。
参数 | 描述 | 必需/可选 |
---|---|---|
iterable | 序列(字符串、元组等)或集合(集、字典等)或要转换成集合的迭代器对象 | 可选 |
set() 返回值
我们不能在集合创建后修改它们。
输入 | 返回值 |
---|---|
没有参数 | 空集 |
可迭代参数 | 从给定的可迭代表构造的集合 |
Python 中 set()
方法的示例
示例 1: 如何从字符串、元组、列表和范围创建集合
# empty set
print(set())
# from string
print(set('Python'))
# from tuple
print(set(('a', 'e', 'i', 'o', 'u')))
# from list
print(set(['a', 'e', 'i', 'o', 'u']))
# from range
print(set(range(5)))
输出:
set()
{'P', 'o', 't', 'n', 'y', 'h'}
{'a', 'o', 'e', 'u', 'i'}
{'a', 'o', 'e', 'u', 'i'}
{0, 1, 2, 3, 4}
示例 2: 如何从另一个集合、字典和冻结集合创建集合
# from set
print(set({'a', 'e', 'i', 'o', 'u'}))
# from dictionary
print(set({'a':1, 'e': 2, 'i':3, 'o':4, 'u':5}))
# from frozen set
frozen_set = frozenset(('a', 'e', 'i', 'o', 'u'))
print(set(frozen_set))
输出:
{'a', 'o', 'i', 'e', 'u'}
{'a', 'o', 'i', 'e', 'u'}
{'a', 'o', 'e', 'u', 'i'}
示例 3: 如何为自定义可迭代对象创建 set()
class PrintNumberlist:
def __init__(self, max):
self.max = max
def __iter__(self):
self.num = 0
return self
def __next__(self):
if(self.num >= self.max):
raise StopIteration
self.num += 1
return self.num
# print_num is an iterable
print_number = PrintNumberlist(5)
# creating a set
print(set(print_number))
输出:
{1, 2, 3, 4, 5}