[]
= empty list
()
= empty tuple
{}
= empty dict
Есть ли аналогичная запись для пустого set
?
Или мне нужно написать set()
?
[]
= empty list
()
= empty tuple
{}
= empty dict
Есть ли аналогичная запись для пустого set
?
Или мне нужно написать set()
?
Нет, нет литературного синтаксиса для пустого набора. Вы должны написать set()
.
Просто чтобы расширить принятый ответ:
Из версии 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
Обязательно используйте set()
для создания пустого набора.
Но, если вы хотите произвести впечатление на людей, скажите им, что вы можете создать пустой набор, используя литералы и *
с Python> = 3.5 (см. PEP 448), выполнив:
>>> s = {*()} # or {*{}} or {*[]}
>>> print(s)
set()
это в основном более сжатый способ выполнения {_ for _ in()}
, но не делайте этого.
Это зависит от того, нужен ли вам литерал для сравнения или для назначения.
Если вы хотите сделать существующий набор пустым, вы можете использовать метод .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
Добавляя к сумасшедшим идеям: с помощью Python 3, принимающего идентификаторы юникода, вы можете объявить переменную ϕ = frozenset()
(φ - U + 03D5) и использовать ее вместо этого.
если вы хотите инициализировать пустой набор, примените ниже код. это отлично работает для меня в python 3:
object = set([])
object = object.union([1,2,3,4]) #set operation.
Это то, что вы ищите?
$ 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'>
>>>
Как вы и другие указали, {}
дает вам подсказку, но вы можете использовать {None}
что даст вам набор, если по какой-то причине вы не хотите вводить set()
Да. Те же обозначения, которые работают для непустых dict/set, работают и для пустых.
Обратите внимание на разницу между непустыми литералами dict
и set
:
{1: 'a', 2: 'b', 3: 'c'}
- количество пар ключ-значение внутри составляет dict
{'aaa', 'bbb', 'ccc'}
- кортеж значений внутри делает set
Итак:
{}
== нулевое количество пар ключ-value == пусто dict
{()}
== пустой кортеж значений == empty set
Вы можете использовать следующую функцию:
>>> s1 = ()
>>> print(s1.__len__())
Будет результат: 0 - набор пуст
используйте его так
a = set
или
a = {0,1}