더북(TheBook)

10.3 리스트 순회하기

리스트의 원소들을 순회하는 가장 일반적인 방법은 for 루프를 사용하는 것이다. 구문은 문자열에서와 같다.

for cheese in cheeses:

print(cheese)

이 코드는 리스트의 원소들을 읽기만 한다면 잘 동작한다. 하지만 원소들을 쓰거나 업데이트해야 한다면 인덱스를 사용해야 한다. 이를 수행하는 일반적인 방법은 내장 함수 rangelen을 조합해서 사용하는 것이다.

for i in range(len(numbers)):

numbers[i] = numbers[i] * 2

이 코드는 리스트를 순회하면서 원소를 하나씩 업데이트한다. len은 리스트에 있는 원소들의 개수를 반환한다. range0부터 n-1까지의 인덱스로 된 리스트를 반환한다. 여기서 n은 리스트의 길이다. 각각의 루프를 돌 때마다 i는 다음 원소의 인덱스가 된다. 루프 바디의 할당문에서는 i를 사용해 원소의 이전 값을 읽어서 새로운 값을 할당한다.

빈 리스트에 for 루프를 사용하면 루프 바디가 단 한 번도 실행되지 않는다.

for x in []:

print('This never happens.')

리스트에 다른 리스트를 포함할 수 있지만, 중첩된 리스트도 원소 1개로 카운트된다. 따라서 다음 리스트의 길이는 4가 된다.

['spam', 1, ['Brie', 'Roquefort', 'Pol le Veq'], [1, 2, 3]]

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.