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')
태플은 불변의 존재로 가치 있는 것을 저장하는 데 사용된다는 것을 기억하라.예를 들어 암호, 키 또는 해시는 튜플 또는 사전에 저장됩니다.만약 칼이 필요하다면 왜 사과를 자르기 위해 칼을 사용해야 하는가.그것을 현명하게 사용하세요, 그것은 또한 당신의 프로그램을 효율적으로 만들 것입니다.
- 이름 '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
'sourcecode' 카테고리의 다른 글
쿼리별 MySQL 덤프 (0) | 2022.11.07 |
---|---|
현재 JBoss 또는 Glassfish(또는 다른)를 새 프로젝트의 Java EE 서버로 사용하시겠습니까? (0) | 2022.11.07 |
pg_config 실행 파일을 찾을 수 없습니다. (0) | 2022.11.07 |
상태: "MariaDB 서버가 다운되었습니다" (0) | 2022.11.07 |
MYSQL의 2개의 개별 테이블에서 사용 가능한 모든 행에 대해 피벗 테이블엔트리를 작성하는 방법 (0) | 2022.11.07 |