Programing

파이썬에서 집합에 값 추가

lottogame 2020. 3. 6. 08:19
반응형

파이썬에서 집합에 값 추가


나는 이와 같은 세트를 가지고있다 :

keep = set(generic_drugs_mapping[drug] for drug in drug_input)

[0,1,2,3,4,5,6,7,8,9,10]이 세트 에 값 어떻게 추가 합니까?


keep.update(yoursequenceofvalues)

예를 들어, keep.update(xrange(11))특정 예를 들어. 또는 다른 이유로 루프에서 값을 생성 해야하는 경우

for ...whatever...:
  onemorevalue = ...whatever...
  keep.add(onemorevalue)

그러나 물론, 가능하면 한 번의 .update호출 로 대량으로 처리하는 것이 더 빠르고 간편합니다.


세트 정의

a = set()

add를 사용하여 단일 값을 추가하십시오.

a.add(1)
a.add(2)

업데이트를 사용하여 반복 가능한 값 추가

a.update([3,4])

컬렉션 확인

a
Out[*n*]: {1, 2, 3, 4}

그거야 그 - 기억 업데이 트를 가 (목록 또는 튜플 일명) 반복자 인 경우 또는 추가 하지 않을 경우. 행복한 코딩!


|연산자를 사용하여 두 세트를 연결할 수도 있습니다 ( 세트 이론의 결합 ).

>>> 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에서 설정할 요소를 추가하는 방법"을 찾을 때 Google에 표시되는 첫 번째 질문이므로 전체 문자열을 세트에 추가하려면 다음과 같이 추가해야합니다 .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'}.


keep.update((0,1,2,3,4,5,6,7,8,9,10))

또는

keep.update(np.arange(11))

이 작업을 수행하는 방법은 원래 세트와 목록에 추가하고 싶은 값을 모두 추가 한 다음 다시 세트로 변환하는 것입니다.

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))

그것이 올바른지 모르겠습니다 ...

참고 URL : https://stackoverflow.com/questions/3392354/append-values-to-a-set-in-python



반응형