Python의 집합에 값 추가
기존 값에 값을 추가하려면 어떻게 해야 합니까?set
?
your_set.update(your_sequence_of_values)
예,your_set.update([1, 2, 3, 4])
또는 다른 이유로 루프에서 값을 생성해야 하는 경우
for value in ...:
your_set.add(value)
단, 물론 1개의 콜로 일괄적으로 실행하는 것이 더 빠르고 편리합니다.
세트를 정의하다
a = set()
단일 값을 추가하는 데 사용합니다.
a.add(1)
a.add(2)
튜플, 세트, 리스트 또는 고정 집합의 요소를 추가하는 데 사용합니다.
a.update([3, 4])
>>> print(a)
{1, 2, 3, 4}
주의: set 요소는 해시 가능해야 하며 리스트는 변경 가능한 것으로 간주되므로 할 수 없습니다.add
일람표할 수 없습니다.add
다른 세트를 세트로 만듭니다.단, 에서 설명한 바와 같이 목록 및 세트의 요소를 추가할 수 있습니다..update
방법.
를 사용할 수도 있습니다.|
연산자가 두 세트를 연결합니다(집합 이론의 결합).
>>> my_set = {1}
>>> my_set = my_set | {2}
>>> my_set
{1, 2}
또는 다음을 사용하여 더 짧은 형식을 사용합니다.|=
:
>>> my_set = {1}
>>> my_set |= {2}
>>> my_set
{1, 2}
참고: Python 2.7 이전 버전에서는set([...])
대신{...}
.
사용하다update
다음과 같습니다.
keep.update(newvalues)
이 질문은 구글에서 "Python how to add elements to set"을 검색했을 때 나타나는 첫 번째 질문입니다.따라서, 만약 당신이 문자열 전체를 세트에 추가하고 싶다면, 그것은 다음과 같이 추가되어야 합니다..add()
,것은 아니다..update()
.
문자열이 있다고 가정합니다.foo_str
그 내용은'this is a sentence'
, 그리고 당신은 몇 가지 세트를 가지고 있습니다.bar_set
에 필적set()
.
네가 한다면.bar_set.update(foo_str)
세트의 내용은 다음과 같습니다.{'t', 'a', ' ', 'e', 's', 'n', 'h', 'c', 'i'}
.
네가 한다면.bar_set.add(foo_str)
세트의 내용은 다음과 같습니다.{'this is a sentence'}
.
이렇게 하려면 원래 집합과 추가할 값을 모두 목록으로 변환하고 추가한 다음 다음과 같이 집합으로 다시 변환합니다.
setMenu = {"Eggs", "Bacon"}
print(setMenu)
> {'Bacon', 'Eggs'}
setMenu = set(list(setMenu) + list({"Spam"}))
print(setMenu)
> {'Bacon', 'Spam', 'Eggs'}
setAdditions = {"Lobster", "Sausage"}
setMenu = set(list(setMenu) + list(setAdditions))
print(setMenu)
> {'Lobster', 'Spam', 'Eggs', 'Sausage', 'Bacon'}
이렇게 하면 동일한 로직을 사용하여 여러 세트를 쉽게 추가할 수 있으며, 이 로직은TypeError: unhashable type: 'set'
제가 만약에 이 일을 할 때마찬가지로.update()
방법.
Python 3에서는 다음과 같이 간단하게 동작하고 있습니다.
keep = keep.union((0,1,2,3,4,5,6,7,8,9,10))
그게 맞는지는 모르겠지만...
keep.update((0,1,2,3,4,5,6,7,8,9,10))
아니면
keep.update(np.arange(11))
여기에 간단한 메모를 덧붙이고 싶었어요.그래서 나는 세 가지 방법 중 가장 빠른 방법을 찾고 있었다.
- set.add() 함수 사용
- set.update() 함수 사용
- "|" 연산자 함수를 사용합니다.
하나의 값 또는 여러 값을 집합에 추가하려면 set.add() 함수를 사용해야 합니다.그것은 다른 방법 중에서 가장 효율적인 방법이다.
그래서 테스트를 실행했는데 결과는 다음과 같습니다.
set.add()
취득: 0.52082249951199set.update()
취득: 0.6461397000231 '- "|" 오퍼레이터 Take: 0.764943899942504
언급URL : https://stackoverflow.com/questions/3392354/append-values-to-a-set-in-python
'programing' 카테고리의 다른 글
set Timeout 리셋 (0) | 2022.09.24 |
---|---|
컴파일 시 함수 파라미터 수 계산 (0) | 2022.09.24 |
JavaScript에서 HTML 특수 문자를 피할 수 있습니까? (0) | 2022.09.24 |
Access-Control-Allow-Origin을 바이패스하는 방법 (0) | 2022.09.24 |
리액트의 이 세 점은 무엇을 하고 있습니까? (0) | 2022.09.24 |