저는 파이썬을 배우고 있으며 세트 초기화에 대한 초보자 질문이 있습니다. 테스트를 통해 세트가 다음과 같이 초기화 될 수 있음을 발견했습니다.
my_set = {'foo', 'bar', 'baz'}
다음과 같은 표준 방식과 달리 이런 방식으로 수행하는 데 단점이 있습니까?
my_set = set(['foo', 'bar', 'baz'])
아니면 스타일 문제일까요?
저는 파이썬을 배우고 있으며 세트 초기화에 대한 초보자 질문이 있습니다. 테스트를 통해 세트가 다음과 같이 초기화 될 수 있음을 발견했습니다.
my_set = {'foo', 'bar', 'baz'}
다음과 같은 표준 방식과 달리 이런 방식으로 수행하는 데 단점이 있습니까?
my_set = set(['foo', 'bar', 'baz'])
아니면 스타일 문제일까요?
답변:
한 단어 인수를 사용하여 {}
및 의 차이점도 비교하십시오 set()
.
>>> a = set('aardvark')
>>> a
{'d', 'v', 'a', 'r', 'k'}
>>> b = {'aardvark'}
>>> b
{'aardvark'}
하지만 모두 a
와 b
과정의 집합입니다.
set([])
아니라 단지보다 set()
.
set()
항상 단일 인수를 취하십시오. 단일 반복 가능.
에서 파이썬 3 문서 ( 같은 파이썬 2.7에 대한 보유 ) :
중괄호 또는 set () 함수를 사용하여 집합을 만들 수 있습니다. 참고 : 빈 집합을 만들려면 {}가 아닌 set ()을 사용해야합니다. 후자는 다음 섹션에서 논의 할 데이터 구조 인 빈 사전을 만듭니다.
파이썬 2.7에서 :
>>> my_set = {'foo', 'bar', 'baz', 'baz', 'foo'}
>>> my_set
set(['bar', 'foo', 'baz'])
그주의 {}
도 사용됩니다 map
/ dict
:
>>> m = {'a':2,3:'d'}
>>> m[3]
'd'
>>> m={}
>>> type(m)
<type 'dict'>
포괄적 인 구문을 사용하여 집합을 초기화 할 수도 있습니다.
>>> a = {x for x in """didn't know about {} and sets """ if x not in 'set' }
>>> a
set(['a', ' ', 'b', 'd', "'", 'i', 'k', 'o', 'n', 'u', 'w', '{', '}'])