Пустой набор букв?

[]= empty list

()= empty tuple

{}= empty dict

Есть ли аналогичная запись для пустого set? Или мне нужно написать set()?

Ответ 1

Нет, нет литературного синтаксиса для пустого набора. Вы должны написать set().

Ответ 2

Просто чтобы расширить принятый ответ:

Из версии 2.7 и 3.1 python получил set literal {} в форме использования {1,2,3}, но {} сам по-прежнему используется для пустого dict.

Python 2.7 (первая строка недействительна в Python < 2.7)

>>> {1,2,3}.__class__
<type 'set'>
>>> {}.__class__
<type 'dict'>

Python 3.x

>>> {1,4,5}.__class__
<class 'set'>
>>> {}.__class__
<type 'dict'>

Подробнее здесь: https://docs.python.org/3/whatsnew/2.7.html#other-language-changes

Ответ 3

Обязательно используйте set() для создания пустого набора.

Но, если вы хотите произвести впечатление на людей, скажите им, что вы можете создать пустой набор, используя литералы и * с Python> = 3.5 (см. PEP 448), выполнив:

>>> s = {*()}  # or {*{}} or {*[]}
>>> print(s)
set()

это в основном более сжатый способ выполнения {_ for _ in()}, но не делайте этого.

Ответ 4

Это зависит от того, нужен ли вам литерал для сравнения или для назначения.

Если вы хотите сделать существующий набор пустым, вы можете использовать метод .clear(), особенно если вы хотите избежать создания нового объекта. Если вы хотите провести сравнение, используйте set() или проверьте, равна ли длина 0.

Пример:

#create a new set    
a=set([1,2,3,'foo','bar'])
#or, using a literal:
a={1,2,3,'foo','bar'}

#create an empty set
a=set()
#or, use the clear method
a.clear()

#comparison to a new blank set
if a==set():
    #do something

#length-checking comparison
if len(a)==0:
    #do something

Ответ 5

Добавляя к сумасшедшим идеям: с помощью Python 3, принимающего идентификаторы юникода, вы можете объявить переменную ϕ = frozenset() (φ - U + 03D5) и использовать ее вместо этого.

Ответ 6

если вы хотите инициализировать пустой набор, примените ниже код. это отлично работает для меня в python 3:

object = set([])
object = object.union([1,2,3,4]) #set operation.

Ответ 7

Это то, что вы ищите?

$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> s = {()}
>>> type(s)
<type 'set'>
>>>

Ответ 8

Как вы и другие указали, {} дает вам подсказку, но вы можете использовать {None} что даст вам набор, если по какой-то причине вы не хотите вводить set()

Ответ 9

Да. Те же обозначения, которые работают для непустых dict/set, работают и для пустых.

Обратите внимание на разницу между непустыми литералами dict и set:

{1: 'a', 2: 'b', 3: 'c'} - количество пар ключ-значение внутри составляет dict
{'aaa', 'bbb', 'ccc'} - кортеж значений внутри делает set

Итак:

{} == нулевое количество пар ключ-value == пусто dict
{()} == пустой кортеж значений == empty set

Ответ 10

Вы можете использовать следующую функцию:

>>> s1 = ()
>>> print(s1.__len__())

Будет результат: 0 - набор пуст

Ответ 11

используйте его так a = set

или

a = {0,1}