您的位置:

57. Python set()

Python set()

更新:

内置函数集()用于在 python 中创建集合。该集合是存储多个数据的单个变量,它应该是无序的和无索引的,并且不能允许重复的值。

 **set(iterable)** #where iterable can be string,tuple,set,dictionary,etc 

设置()参数:

它只需要一个参数。使用{ }我们不能创建空集它会创建一个空字典,所以我们使用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}