빈 집합 리터럴?
[]
= 비어 있음list
()
= 비어 있음tuple
{}
= 비어 있음dict
빈 것과 비슷한 표기법이 있는가?set
아니면 내가 편지를 써야 하나?set()
?
아니, 빈 세트는 문자 그대로 구문이 없어.너는 글을 써야 한다.
무슨 수를 써서라도 set()
빈 세트를 생성하십시오.
하지만 사람들에게 깊은 인상을 주고 싶다면, 그들에게 당신이 리터럴과 리터럴을 사용하여 빈 세트를 만들 수 있다고 말해라.*
Python >= 3.5(PEP 448 참조):
>>> s = {*()} # or {*{}} or {*[]}
>>> print(s)
set()
이것은 기본적으로 보다 응축된 행동방식이다.{_ for _ in ()}
하지만, 이러지 마.
수락된 답변을 연장하기 위해:
원본 버전2.7
그리고3.1
을 가지고 있다set
문자 그대로의{}
관습의 형태로{1,2,3}
그렇지만{}
그 자체가 여전히 빈 구술에 쓰이고 있다.
Python 2.7 (Python <2.7>에서는 첫 줄이 유효하지 않음)
>>> {1,2,3}.__class__
<type 'set'>
>>> {}.__class__
<type 'dict'>
파이톤 3.x
>>> {1,2,3}.__class__
<class 'set'>
>>> {}.__class__
<class 'dict'>
자세한 내용은 https://docs.python.org/3/whatsnew/2.7.html#other-language-changes를 참조하십시오.
응. 빈칸이 아닌 곳에 쓰는 것과 같은 표기법이 빈칸에도 효과가 있어.
비어 있지 않은 상태 간의 차이점 확인dict
그리고set
리터럴:
{1: 'a', 2: 'b', 3: 'c'}
- 내부의 여러 키 값 쌍이dict
{'aaa', 'bbb', 'ccc'}
- 내부에 있는 가치관의 튜플은set
자:
{}
== 0개의 키 값 쌍 수 == 비어 있음dict
{*()}
== 값의 빈 튜플 == 비어 있음set
하지만, 당신이 할 수 있다는 사실이 당신이 해야 한다는 것을 의미하지는 않는다.강력한 이유가 없는 한, 다음과 같은 빈 세트를 명시적으로 구성하는 것이 좋다.
a = set()
성능:
리터럴은 세트 구성자(CPython-3.8, 2019 PC, Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz):
>>> %timeit ({*()} & {*()}) | {*()} 214 ns ± 1.26 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each) >>> %timeit (set() & set()) | set() 252 ns ± 0.566 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
... 그리고 완전성을 위해서, 위의 표현에 대한 레나토 가르시아의 제안은 60% 정도 더 빨라!
>>> ϕ = frozenset() >>> %timeit (ϕ & ϕ) | ϕ 100 ns ± 0.51 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
NB: ctilen이 논평에서 지적했듯이,{()}
빈 세트가 아니다.빈 튜플이 1가지 요소로 이루어진 세트 입니다.
비교를 위해 리터럴을 원하는지, 아니면 할당을 원하는지에 따라 달라진다.
기존 세트를 비워 두려면.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에서 빈 세트를 만드는 몇 가지 방법이 있다.
- set() 방법 사용
이것은 그 변수에 Empty set를 생성하는 python의 내장된 방법이다. - 를 사용하여 clear() 메서구 사書口 사사(Creative Engineer Technology LOL)
다음 예제를 참조하십시오.
sets={"Hi","How","you"All"}
유형(세트)(이 라인 출력 : 설정)
clearme
인쇄(세트)(이 라인 출력: {})
유형(세트)(이 라인 출력 : 설정)
이렇게 두 가지 방법으로 빈 세트를 만들 수 있다.
참조URL: https://stackoverflow.com/questions/6130374/empty-set-literal
'Programing' 카테고리의 다른 글
GetDerivedStateFromProps를 사용하여 초기화한 후 소품을 상태로 전환하시겠습니까? (0) | 2022.03.14 |
---|---|
파이톤 대본에 #!(쉐뱅)을 넣어야 하나, 어떤 형식을 취해야 하나? (0) | 2022.03.14 |
Vue 라우터 - 경로가 여러 번 연결됨 (0) | 2022.03.14 |
Vuetify - 구성 요소 내부 CSS가 작동하지 않음(효과 발생) (0) | 2022.03.14 |
기본 응답 - 기본 코드에 대한 단위 테스트를 SharedPreference로 작성하는 방법, (0) | 2022.03.14 |