English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 基础教程

Python 流程控制

Функции в Python

Типы данных в Python

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python set() 使用方法及示例

Внутренние функции Python

set()内置函数根据给定的iterable创建Python集。

set()的语法为:

set(iterable)

推荐阅读: Python set(集合)

set()参数

set() 接受一个可选参数:

  • iterable(可选) - 要转换为集合的序列(字符串元组等)或集合(集合,字典等)或迭代器对象。

set()返回值

set() 返回:

  • 如果未传递任何参数,则为空集

  • 由给定的iterable参数构造的集合

示例1:根据字符串,元组,列表和范围创建集合

# 空集
print(set())
# iterable为字符串
print(set('Python'))
# iterable为元组
print(set(('a', 'e', 'i', 'o', 'u')))
# iterable为列表
print(set(['a', 'e', 'i', 'o', 'u']))
# Итерируемый объект - 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}

Обратите внимание:Мы не можем создать пустой набор с помощью синтаксиса { }, так как это создаст пустой словарь. Чтобы создать пустой набор, мы используем set().

Пример 2: Создание набора из другого набора, словаря и冻结енного набора

# Из набора
print(set({'a', 'e', 'i', 'o', 'u'}))
# Из словаря
print(set({'a':1, 'e': 2, 'i':3, 'o':4, 'u':5}))
# Из冻结енного набора
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: Создание набора для пользовательского итерируемого объекта

class PrintNumber:
    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 является итерируемым
print_num = PrintNumber(5)
# Создание набора
print(set(print_num))

Результат вывода

{1, 2, 3, 4, 5}

Внутренние функции Python