요소가 하나만있는 튜플을 만드는 방법
아래 예제에서 모든 요소가 튜플이 될 것으로 예상합니다. 튜플이 단일 문자열 만 포함 할 때 왜 문자열로 변환됩니까?
>>> a = [('a'), ('b'), ('c', 'd')]
>>> a
['a', 'b', ('c', 'd')]
>>>
>>> for elem in a:
... print type(elem)
...
<type 'str'>
<type 'str'>
<type 'tuple'>
처음 두 요소는 튜플이 아니기 때문입니다. 그들은 단지 문자열입니다. 괄호는 자동으로 튜플을 만들지 않습니다. 튜플이어야 함을 파이썬에 나타 내기 위해 문자열 뒤에 쉼표를 추가해야합니다.
>>> type( ('a') )
<type 'str'>
>>> type( ('a',) )
<type 'tuple'>
예제 코드를 수정하려면 여기에 쉼표를 추가하세요.
>>> a = [('a',), ('b',), ('c', 'd')]
^ ^
로부터 파이썬 문서 :
특별한 문제는 0 개 또는 1 개의 항목을 포함하는 튜플의 구성입니다. 구문에는 이러한 항목을 수용하기위한 몇 가지 추가 특성이 있습니다. 빈 튜플은 빈 괄호 쌍으로 구성됩니다. 하나의 항목이있는 튜플은 쉼표가있는 값을 따라 구성됩니다 (단일 값을 괄호로 묶는 것으로 충분하지 않습니다). 못 생겼지 만 효과적입니다.
후행 쉼표 구문이 정말 싫다면 해결 방법은 a 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')]
>>>
단일 요소로 튜플을 만드는 방법에는 두 가지가 있습니다.
(i) 첫 번째는 쉼표로 구분 된 단일 요소를 생성 한 다음 튜플이되는 것입니다.
>>>t2 = ('a',)
>>>print(type(t2))
<class tuple>
(ii) 두 번째는 단일 요소로 목록을 만든 다음 튜플로 변환하는 것입니다. 그러면 튜플이됩니다.
>>>l1 = [1]
>>>t1 = tuple(l1)
>>>print(type(t1))
<class tuple>
참고 URL : https://stackoverflow.com/questions/12876177/how-to-create-a-tuple-with-only-one-element
'Programing' 카테고리의 다른 글
오류 : "INSERT EXEC 문은 중첩 될 수 없습니다." (0) | 2020.09.16 |
---|---|
'git format-patch'와 'git diff'의 차이점은 무엇입니까? (0) | 2020.09.16 |
Apache가 PHP 파일을 표시하는 대신 다운로드하고 있습니다. (0) | 2020.09.16 |
Maven Surefire와 Maven Failsafe 플러그인의 차이점은 무엇입니까? (0) | 2020.09.16 |
구성 요소 클래스에서 템플릿 참조 변수에 액세스 (0) | 2020.09.16 |