programing

파이썬에서 집합을 목록으로 변환하는 방법은 무엇입니까?

randomtip 2023. 5. 21. 17:11
반응형

파이썬에서 집합을 목록으로 변환하는 방법은 무엇입니까?

저는 파이썬 2.6에서 세트를 목록으로 변환하려고 합니다.다음 구문을 사용합니다.

first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)

그러나 다음과 같은 스택 추적을 받습니다.

Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'set' object is not callable

이걸 어떻게 고칠 수 있을까요?

이미 목록입니다.

>>> type(my_set)
<class 'list'>

다음과 같은 것을 원하십니까?

>>> my_set = set([1, 2, 3, 4])
>>> my_list = list(my_set)
>>> print(my_list)
[1, 2, 3, 4]

편집: 마지막 의견 출력:

>>> my_list = [1,2,3,4]
>>> my_set = set(my_list)
>>> my_new_list = list(my_set)
>>> print(my_new_list)
[1, 2, 3, 4]

당신이 이런 짓을 했는지 궁금합니다.

>>> set = set()
>>> set([1, 2])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object is not callable

다음 대신:

first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)

프로세스를 단축하는 것이 어떻습니까?

my_list = list(set([1,2,3,4])

그러면 목록에서 듀프가 제거되고 목록이 다시 반환됩니다.

[EDITED] 이전에 "리스트"를 변수 이름으로 사용하여 다음과 같이 재정의한 것 같습니다.

list = set([1,2,3,4]) # oops
#...
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)

그리고 당신은 얻을 것입니다.

Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'set' object is not callable

이러한 유형의 문제가 발생할 때마다 다음을 사용하여 먼저 변환할 요소의 데이터 유형을 찾습니다.

type(my_set)

다음 사용:

  list(my_set) 

목록으로 변환합니다.이제 새로 작성된 목록을 파이썬의 일반 목록처럼 사용할 수 있습니다.

단순 입력:

list(my_set)

이렇게 하면 {'1','2'} 형식의 집합이 ['1','2'] 형식의 목록으로 바뀝니다.

첫 번째 줄을 검토합니다.당신의 스택 추적은 분명히 당신이 여기에 붙여놓은 코드에서 나온 것이 아니기 때문에, 나는 당신이 정확히 무엇을 했는지 모릅니다.

>>> my_set=([1,2,3,4])
>>> my_set
[1, 2, 3, 4]
>>> type(my_set)
<type 'list'>
>>> list(my_set)
[1, 2, 3, 4]
>>> type(_)
<type 'list'>

당신이 원했던 것은set([1, 2, 3, 4]).

>>> my_set = set([1, 2, 3, 4])
>>> my_set
set([1, 2, 3, 4])
>>> type(my_set)
<type 'set'>
>>> list(my_set)
[1, 2, 3, 4]
>>> type(_)
<type 'list'>

호출할 수 없음 예외는 당신이 다음과 같은 일을 하고 있었다는 것을 의미합니다.set()()호출 시도set사례.

이것으로 세트를 만드는지 잘 모르겠습니다.([1, 2])구문, 오히려 목록입니다.집합을 만들려면 다음을 사용해야 합니다.set([1, 2]).

이 괄호들은 당신이 다음과 같이 썼을 것처럼 당신의 표현을 돋보이게 할 뿐입니다.

if (condition1
    and condition2 == 3):
    print something

정말 무시당하는 건 아니지만, 표정에 아무 것도 하지 마세요.

참고:(something, something_else)튜플을 만듭니다(그러나 여전히 목록은 없음).

Python은 동적으로 입력되는 언어이므로 C 또는 C++에서처럼 변수 유형을 정의할 수 없습니다.

type variable = value

또는

type variable(value)

Python에서는 유형을 변경할 때 강제로 사용하거나 유형의 init 함수(생성자)를 사용하여 유형의 변수를 선언합니다.

my_set = set([1,2,3])
type my_set

당신에게 줄 것입니다<type 'set'>회답을 위하여

목록이 있는 경우 다음을 수행합니다.

my_list = [1,2,3]
my_set = set(my_list)

흠, 이전의 몇 줄에는 다음과 같은 것이 있을 것이라고 장담합니다.

list = set(something)

내가 틀렸나요?

언급URL : https://stackoverflow.com/questions/6593979/how-to-convert-a-set-to-a-list-in-python

반응형