빈 세트 리터럴?
[]
= 비어 있음 list
()
= 비어 있음 tuple
{}
= 비어 있음 dict
공란과 비슷한 표기법이 set
있습니까? 아니면 써야 set()
합니까?
아니요, 빈 세트에 대한 리터럴 구문은 없습니다. 당신은 작성해야합니다 set()
.
허용되는 답변을 확장하려면 다음을 수행하십시오.
버전 2.7
과 3.1
파이썬 에서 사용 형태로 set
리터럴 {}
을 얻었 {1,2,3}
지만 {}
여전히 빈 dict에 사용되었습니다.
Python 2.7 (파이썬 <2.7에서는 첫 번째 줄이 유효하지 않음)
>>> {1,2,3}.__class__
<type 'set'>
>>> {}.__class__
<type 'dict'>
파이썬 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
미친 아이디어에 추가 : 파이썬 3에서 유니 코드 식별자를 허용하면 변수를 선언하고 ϕ = frozenset()
(ϕ는 U + 03D5입니다) 대신 사용할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/6130374/empty-set-literal
'Programming' 카테고리의 다른 글
JavaScript에서 변수 변경 청취 (0) | 2020.02.20 |
---|---|
Git push를 사용하여 프로젝트 배포 (0) | 2020.02.20 |
"X-Frame-Options에 의해 금지 된 디스플레이"극복 (0) | 2020.02.20 |
파이썬 파일 확장자, .pyc .pyd .pyo는 무엇을 의미합니까? (0) | 2020.02.20 |
Abstract Factory와 Factory 디자인 패턴의 차이점은 무엇입니까? (0) | 2020.02.20 |