Python에서 리스트 반복하는 방법
Daniel Hayes
Full-Stack Engineer · Leapcell

Key Takeaways
for
루프는 리스트를 반복하는 가장 파이썬다운 방법입니다.- 인덱스와 값이 모두 필요한 경우
enumerate()
를 사용하세요. - 리스트 컴프리헨션과
map()
은 리스트 데이터 변환에 이상적입니다.
리스트를 반복하는 것은 파이썬 프로그래밍의 기본 작업입니다. 숫자, 문자열 또는 더 복잡한 데이터 구조를 다루든, 리스트를 효과적으로 반복하는 방법을 이해하면 깔끔하고 읽기 쉬우며 효율적인 코드를 작성하는 데 도움이 됩니다. 이 글에서는 파이썬에서 리스트를 반복하는 여러 방법과 각 접근 방식을 설명하는 예제를 다룹니다.
1. for
루프 사용하기
리스트를 반복하는 가장 일반적이고 파이썬다운 방법은 for
루프를 사용하는 것입니다.
fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)
결과는 다음과 같습니다:
apple
banana
cherry
이 방법은 간결하며 대부분의 사용 사례에 적합합니다.
2. range()
와 함께 for
루프 사용하기
각 요소의 인덱스에 접근해야 하는 경우 range()
함수를 len()
과 함께 사용할 수 있습니다.
fruits = ["apple", "banana", "cherry"] for i in range(len(fruits)): print(f"Index {i}: {fruits[i]}")
이는 반복 중에 인덱스와 값이 모두 필요한 경우에 유용합니다.
3. enumerate()
사용하기
enumerate()
는 인덱스와 값이 모두 필요한 경우 range(len(list))
에 대한 더 깔끔한 대안입니다.
fruits = ["apple", "banana", "cherry"] for index, fruit in enumerate(fruits): print(f"Index {index}: {fruit}")
이는 더 읽기 쉽고 인덱스를 수동으로 추적하는 것보다 더 파이썬답다고 여겨집니다.
4. while
루프 사용하기
수동 인덱스와 함께 while
루프를 사용할 수도 있습니다.
fruits = ["apple", "banana", "cherry"] i = 0 while i < len(fruits): print(fruits[i]) i += 1
이는 더 많은 제어 기능을 제공하지만 추가적인 상용구 코드 때문에 일반적으로 덜 선호됩니다.
5. 리스트 컴프리헨션 (변환용)
제자리에서 출력하거나 처리하는 직접적인 대안은 아니지만, 리스트 컴프리헨션은 새 리스트를 만드는 데 이상적입니다.
fruits = ["apple", "banana", "cherry"] uppercased = [fruit.upper() for fruit in fruits] print(uppercased)
결과는 다음과 같습니다:
['APPLE', 'BANANA', 'CHERRY']
6. 함수형 반복을 위한 map()
사용하기
함수형 프로그래밍을 선호하는 경우 map()
이 유용할 수 있습니다.
fruits = ["apple", "banana", "cherry"] list(map(print, fruits))
이 접근 방식은 초보자에게는 덜 읽기 쉬울 수 있지만 함수형 스타일 코드에서는 우아할 수 있습니다.
결론
파이썬은 간단한 for
루프부터 enumerate()
및 map()
과 같은 고급 기술에 이르기까지 리스트를 반복하는 여러 가지 방법을 제공합니다. 어떤 방법을 선택하느냐는 인덱스 접근, 변환 또는 단순 반복과 같이 특정 사용 사례에 따라 다릅니다. 이러한 패턴을 마스터하면 파이썬 코드를 더욱 다재다능하고 표현력 있게 만들 수 있습니다.
FAQs
가장 일반적이고 권장되는 방법은 for
루프를 사용하는 것입니다.
더 깔끔한 구문으로 인덱스와 값이 모두 필요한 경우 enumerate()
를 사용하세요.
예, 하지만 부작용을 피하기 위해 리스트 컴프리헨션을 사용하거나 새 리스트를 만드는 것이 좋습니다.
저희는 Leapcell이며, 파이썬 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하세요.
무제한 프로젝트를 무료로 배포
- 사용량에 따라서만 지불하세요. 요청 횟수나 요금은 없습니다.
최고의 비용 효율성
- 유휴 요금 없이 사용한 만큼만 지불하세요.
- 예시: 25달러로 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인과 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
간편한 확장성 및 고성능
- 고도의 동시성을 쉽게 처리할 수 있도록 자동 확장됩니다.
- 운영 오버헤드 제로 — 구축에만 집중하세요.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ