source

요소가 하나만 있는 "싱글톤" 튜플을 만드는 방법

manysource 2023. 6. 14. 21:55

요소가 하나만 있는 "싱글톤" 튜플을 만드는 방법

아래 예제에서는 모든 요소가 튜플일 것으로 예상합니다. 튜플은 단일 문자열만 포함하는데 왜 문자열로 변환됩니까?

>>> a = [('a'), ('b'), ('c', 'd')]
>>> a
['a', 'b', ('c', 'd')]
>>> 
>>> for elem in a:
...     print type(elem)
... 
<type 'str'>
<type 'str'>
<type 'tuple'>

튜플이 하나의 문자열만 포함하고 있는데 왜 문자열로 변환됩니까?

a = [('a'), ('b'), ('c', 'd')]

왜냐하면 처음 두 요소는 튜플이 아니라 그냥 끈이기 때문입니다.괄호는 자동으로 튜플이 되지 않습니다.문자열 뒤에 콤마를 추가하여 python에 튜플임을 나타내야 합니다.

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>

예제 코드를 수정하려면 여기에 쉼표를 추가합니다.

>>> a = [('a',), ('b',), ('c', 'd')]

             ^       ^

Python Docs에서:

특수한 문제는 0 또는 1개의 항목을 포함하는 튜플을 구성하는 것입니다. 구문에는 이러한 항목을 수용하기 위한 몇 가지 추가적인 특성이 있습니다.빈 튜플은 빈 괄호 쌍으로 구성되며, 한 항목이 있는 튜플은 쉼표로 값을 따르는 방식으로 구성됩니다(괄호 안에 단일 값을 포함하기에는 충분하지 않음).못생겼지만 효과적입니다.

뒤에 오는 쉼표 구문이 정말 싫다면 해결 방법은list에게tuple()함수:

x = tuple(['a'])

처음 두 예는 튜플이 아니라 줄입니다.단일 항목 튜플에는 다음과 같이 후행 쉼표가 필요합니다.

>>> a = [('a',), ('b',), ('c', 'd')]
>>> a
[('a',), ('b',), ('c', 'd')]

('a')튜플이 아니라 문자열입니다.

마지막에 쉼표를 추가해야 합니다.python그들을 로 여기다.tuple: -

>>> a = [('a',), ('b',), ('c', 'd')]
>>> a
[('a',), ('b',), ('c', 'd')]
>>> 

=> 목록을 하나의 ID를 요소로 하는 튜플로 변환해야 하는 경우.그러면 이 솔루션이 도움이 될 것입니다.

x_list = [1]

x_tuple = tuple(x_list)

=> 당신은 이것을 얻을 것입니다.

(1,)

=> 이제 0을 목록에 추가한 다음 튜플로 변환합니다.

=> x_list.append(0)

=> x_tuple = tuple(x_list)

(1, 0)

이 페이지를 접하게 되었는데 왜 아무도 하나의 요소를 가진 튜플에 대한 꽤 흔한 방법 중 하나를 언급하지 않았는지 놀랐습니다.이것은 아주 오래된 게시물이기 때문에 아마도 버전일 것입니다.어쨌든 여기 있습니다.

>>> b = tuple(('a'))
>>> type(b)
<class 'tuple'>

언급URL : https://stackoverflow.com/questions/12876177/how-to-create-a-singleton-tuple-with-only-one-element