복붙노트

[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. ==============================

    1.이것은 그것을하는 청초한 방법이다 :

    이것은 그것을하는 청초한 방법이다 :

    letters = [('a', 'A'), ('b', 'B')]
    for i, (lowercase, uppercase) in enumerate(letters):
        print "Letter #%d is %s/%s" % (i, lowercase, uppercase)
    
  2. ==============================

    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. ==============================

    3.당신도이 방법을 사용할 수 있습니다 :

    당신도이 방법을 사용할 수 있습니다 :

    letters = [('a', 'A'), ('b', 'B')]
    for i, letter in enumerate(letters):
        print "Letter #%d is %s/%s" % (i, letter[0], letter[1])
    
  4. from https://stackoverflow.com/questions/849369/how-do-i-enumerate-over-a-list-of-tuples-in-python by cc-by-sa and MIT license