sourcecode

Python에서 목록을 태플로 변환

copyscript 2022. 11. 7. 22:40
반응형

Python에서 목록을 태플로 변환

목록을 태플로 변환하려고 합니다.

Google의 대부분의 솔루션은 다음 코드를 제공합니다.

l = [4,5,6]
tuple(l)

그러나 코드를 실행하면 다음 오류 메시지가 나타납니다.

TypeError: '태플' 개체를 호출할 수 없습니다.

어떻게 하면 이 문제를 해결할 수 있을까요?

잘 될 거예요.사용하지 않다tuple,list또는 변수 이름으로 다른 특수 이름을 지정합니다.아마 그게 당신 문제의 원인일 거예요.

>>> l = [4,5,6]
>>> tuple(l)
(4, 5, 6)

>>> tuple = 'whoops'   # Don't do this
>>> tuple(l)
TypeError: 'tuple' object is not callable

유미로의 코멘트를 확대해서, 보통은tuple(l)목록을 변환합니다.l태플화:

In [1]: l = [4,5,6]

In [2]: tuple
Out[2]: <type 'tuple'>

In [3]: tuple(l)
Out[3]: (4, 5, 6)

단, 정의의 변경은tuple태플이 되다type tuple:

In [4]: tuple = tuple(l)

In [5]: tuple
Out[5]: (4, 5, 6)

태플 자체를 호출할 수 없기 때문에 TypeError가 표시됩니다.

In [6]: tuple(l)
TypeError: 'tuple' object is not callable

의 원래 정의를 복구할 수 있습니다.tuple인터프리터를 종료하고 재기동하거나(@glgl 덕분에):

In [6]: del tuple

In [7]: tuple
Out[7]: <type 'tuple'>

다른 대체 항목을 추가하려면tuple(l), Python > =의 경우3.5다음 작업을 수행할 수 있습니다.

t = *l,  # or t = (*l,) 

짧고 조금 빠르지만 가독성에 문제가 있을 수 있습니다.

이것은 기본적으로 목록의 압축을 푼다.l단일 콤마의 존재로 인해 생성되는 태플 리터럴 내부,.


P.s: 수신된 오류는 이름의 마스킹에 의한 것입니다.tuple즉, 특정 장소의 tuple이라는 이름에 할당되어 있습니다.tuple = (1, 2, 3).

사용.del tuple가도 돼

다음과 같은 작업을 수행했을 수 있습니다.

>>> tuple = 45, 34  # You used `tuple` as a variable here
>>> tuple
(45, 34)
>>> l = [4, 5, 6]
>>> tuple(l)   # Will try to invoke the variable `tuple` rather than tuple type.

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    tuple(l)
TypeError: 'tuple' object is not callable
>>>
>>> del tuple  # You can delete the object tuple created earlier to make it work
>>> tuple(l)
(4, 5, 6)

여기 문제가 있습니다...를 사용하셨기 때문에tuple보유 변수tuple (45, 34)아까...자, 이제tuple는 입니다.object타입의tuple이제...

이제 더 이상 아니다type그래서 더 이상 아니다.Callable.

Never기본 제공 유형을 변수 이름으로 사용...사용할 다른 이름이 있습니다.대신 임의 변수 이름을 사용하십시오...

나는 많은 최신 답변을 찾았고 적절한 답변을 얻었지만, 답의 스택에 새로운 답변을 추가할 것이다.

python에서는 이를 수행하는 방법은 무한합니다.다음은 예를 제시하겠습니다.
통상적인 방법

>>> l= [1,2,"stackoverflow","python"]
>>> l
[1, 2, 'stackoverflow', 'python']
>>> tup = tuple(l)
>>> type(tup)
<type 'tuple'>
>>> tup
(1, 2, 'stackoverflow', 'python')

스마트한 방법

>>>tuple(item for item in l)
(1, 2, 'stackoverflow', 'python')

태플은 불변의 존재로 가치 있는 것을 저장하는 데 사용된다는 것을 기억하라.예를 들어 암호, 키 또는 해시는 튜플 또는 사전에 저장됩니다.만약 칼이 필요하다면 왜 사과를 자르기 위해 칼을 사용해야 하는가.그것을 현명하게 사용하세요, 그것은 또한 당신의 프로그램을 효율적으로 만들 것입니다.

  1. 이름 'tuple'을 변수 이름으로 지정했습니까?잘 될 거야

L은 리스트이며 우리는 그것을 태플로 변환하고 싶습니다.

L = [1, 2, 3]

태플(L)

태플을 호출함으로써 리스트(L)를 태플로 변환합니다.위와 같이.

(1, 2, 3)

각 괄호를 사용하여 태플 내의 모든 항목에 액세스할 수 있습니다.L[0]

1

l1 = []   #Empty list is given

l1 = tuple(l1)   #Through the type casting method we can convert list into tuple

print(type(l1))   #Now this show class of tuple

언급URL : https://stackoverflow.com/questions/12836128/convert-list-to-tuple-in-python

반응형