source

Python에서 세트 세트를 만들려면 어떻게 해야 합니까?

manycodes 2023. 7. 20. 22:02
반응형

Python에서 세트 세트를 만들려면 어떻게 해야 합니까?

저는 파이썬으로 세트를 만들려고 합니다.어떻게 해야 할지 모르겠어요.

빈 집합부터 시작xx:

xx = set([])
# Now we have some other set, for example
elements = set([2,3,4])
xx.add(elements)

하지만 이해합니다.

TypeError: unhashable type: 'list'

또는

TypeError: unhashable type: 'set'

파이썬에서 세트를 갖는 것이 가능합니까?

저는 많은 세트 컬렉션을 다루고 있으며 중복 세트를 처리할 필요가 없기를 원합니다(세트 A1, A2, ...의 세트 B는 Ai = Aj일 경우 두 세트를 "처리"할 것입니다).

파이썬이 불평하는 이유는 내부자 때문입니다.set개체는 변경할 수 있으므로 해시할 수 없습니다.솔루션은 내부 집합에 사용하여 수정할 의도가 없음을 표시하는 것입니다.

xx = set([])
# Nested sets must be frozen
elements = frozenset([2,3,4])
xx.add(elements)

이미 사람들이 동결 세트()로 이 작업을 수행할 수 있다고 언급했으므로, 이 작업을 수행하는 방법을 코드를 추가합니다.

예를 들어, 다음 목록에서 세트를 만들 수 있습니다.

t = [[], [1, 2], [5], [1, 2, 5], [1, 2, 3, 4], [1, 2, 3, 6]]

다음과 같은 방법으로 세트를 만들 수 있습니다.

t1 = set(frozenset(i) for i in t)

안에서 사용합니다.

그래서 저도 똑같은 문제를 겪었습니다.저는 세트로 작동하는 데이터 구조를 만들고 싶었습니다.문제는 세트에 불변 객체가 포함되어야 한다는 것입니다.그래서, 여러분이 할 수 있는 것은 단순히 튜플 세트로 만드는 것입니다.그것은 저에게 잘 통했습니다!

A = set()
A.add( (2,3,4) )##adds the element
A.add( (2,3,4) )##does not add the same element
A.add( (2,3,5) )##adds the element, because it is different!

언급URL : https://stackoverflow.com/questions/5931291/how-can-i-create-a-set-of-sets-in-python

반응형