Python for문 변수 2개 사용 방법

for 문을 사용하다 보면 인덱스가 2개 필요한 경우가 있습니다.

인덱스가 2개 필요한 경우에는 for 문에도 변수를 2개 설정을 해줘야 합니다.

for 문에서 변수를 2개 설정하는 방법을 예제로 알아보겠습니다.

  

enumerate

리스트에 들어있는 요소와 인덱스를 같이 취득하고 싶은 경우에는 enumerate를 사용해 변수를 2개 작성합니다.

보통 for 문을 사용해 요소를 취득하는 경우는 아래와 같습니다.

listdata = ['Alice', 'Bob', 'Charlie']

for name in listdata:
    print(name)

 

결과

Alice
Bob
Charlie

 

for 문에 변수를 2개 설정해 인덱스와 요소를 출력해보겠습니다.

listdata = ['Alice', 'Bob', 'Charlie']

for i, name in enumerate(listdata):
    print(name)

 

결과

0 Alice
1 Bob
2 Charlie

 

enumerate 함수의 두 번째 인수는 시작 값을 지정합니다.

생략한 경우에는 0부터 시작합니다.

시작 값을 지정한 경우는 시작 값부터 값이 증가합니다.

listdata = ['Alice', 'Bob', 'Charlie']

for i, name in enumerate(listdata, 42):
    print(i, name)

 

결과

42 Alice
43 Bob
44 Charlie

  

zip

여러개의 오브젝트나 리스트 등을 for 문에서 동시에 사용하고 싶은 경우에는 zip 함수를 사용해 반복문을 실행할 수 있습니다.

for 문에 2개의 리스트를 지정한 경우에는 변수도 2개를 설정해야 합니다.

names = ['Alice', 'Bob', 'Charlie']
ages = [24, 50, 18]

for name, age in zip(names, ages):
    print(name, age)

 

결과

Alice 24
Bob 50
Charlie 18

 

zip 함수와 for 문은 3개 이상의 리스트를 설정할  수 있습니다.

설정한 리스트만큼 변수를 만들어줘야 합니다.

names = ['Alice', 'Bob', 'Charlie']
ages = [24, 50, 18]
points = [100, 85, 90]

for name, age, point in zip(names, ages, points):
    print(name, age, point)

 

결과

Alice 24 100
Bob 50 85
Charlie 18 90

 

for 문에 지정한 리스트만큼 변수도 설정했습니다.

모든 리스트의 값이 동시에 출력되었습니다.

댓글