[PYTHON] 파이썬에서 튜플 목록을 어떻게 열거 할 수 있습니까?
PYTHON파이썬에서 튜플 목록을 어떻게 열거 할 수 있습니까?
다음과 같은 코드가 있습니다.
letters = [('a', 'A'), ('b', 'B')]
i = 0
for (lowercase, uppercase) in letters:
print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
i += 1
나에게는 "i"변수를 처리 할 수있는 enumerate () 함수가 있다고 들었다.
for i, l in enumerate(['a', 'b', 'c']):
print "%d: %s" % (i, l)
그러나 두 가지를 결합하는 방법을 알 수는 없습니다. 문제의 목록이 튜플로 구성된 경우 어떻게 열거합니까? 이 일을해야합니까?
letters = [('a', 'A'), ('b', 'B')]
for i, tuple in enumerate(letters):
(lowercase, uppercase) = tuple
print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
아니면 더 우아한 방법이 있습니까?
해결법
-
==============================
1.이것은 그것을하는 청초한 방법이다 :
이것은 그것을하는 청초한 방법이다 :
letters = [('a', 'A'), ('b', 'B')] for i, (lowercase, uppercase) in enumerate(letters): print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
-
==============================
2.이것이 내가하는 방법이다 :
이것이 내가하는 방법이다 :
import itertools letters = [('a', 'A'), ('b', 'B')] for i, lower, upper in zip(itertools.count(),*zip(*letters)): print "Letter #%d is %s/%s" % (i, lower, upper)
편집 : 압축 풀기가 중복됩니다. 이것은보다 간결한 방법으로, 사용 사례에 따라 다르거 나 그렇지 않을 수 있습니다.
import itertools letters = [('a', 'A'), ('b', 'B')] for i in zip(itertools.count(),*zip(*letters)): print "Letter #%d is %s/%s" % i
-
==============================
3.당신도이 방법을 사용할 수 있습니다 :
당신도이 방법을 사용할 수 있습니다 :
letters = [('a', 'A'), ('b', 'B')] for i, letter in enumerate(letters): print "Letter #%d is %s/%s" % (i, letter[0], letter[1])
from https://stackoverflow.com/questions/849369/how-do-i-enumerate-over-a-list-of-tuples-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 스트립 \ n [중복] (0) | 2018.11.05 |
---|---|
[PYTHON] Python의 isinstance ()를 사용하여 변수가 숫자인지 제대로 확인하는 방법은 무엇입니까? (0) | 2018.11.04 |
[PYTHON] Python range () 및 zip () 객체 유형 (0) | 2018.11.04 |
[PYTHON] 루프 및 반복자 동작을위한 Python (0) | 2018.11.04 |
[PYTHON] 장고 휴식 프레임 워크는 많은 분야에서 많은 serialize (0) | 2018.11.04 |