SO에 대한 파이썬 질문에서 이러한 유형의 표현을 자주 찾습니다. iterable의 모든 항목에 액세스하기 위해
for i in range(len(a)):
print(a[i])
어색한 글쓰기 방법입니다.
for e in a:
print(e)
또는 iterable의 요소에 할당하는 경우 :
for i in range(len(a)):
a[i] = a[i] * 2
다음과 같아야합니다.
for i, e in enumerate(a):
a[i] = e * 2
# Or if it isn't too expensive to create a new iterable
a = [e * 2 for e in a]
또는 인덱스 필터링 :
for i in range(len(a)):
if i % 2 == 1: continue
print(a[i])
다음과 같이 표현할 수 있습니다.
for e in a [::2]:
print(e)
또는 목록의 내용이 아닌 길이 만 필요한 경우 :
for _ in range(len(a)):
doSomethingUnrelatedToA()
다음 중 하나 일 수 있습니다.
for _ in a:
doSomethingUnrelatedToA()
우리가 파이썬에서 enumerate, 슬라이스, filter, sorted, 파이썬 등 ...으로 for구조가 반복 가능 객체를 반복하기위한 것입니다 및뿐만 아니라 정수의 범위, 당신이 필요가 실제 사용 사례는 in range(len(a))?
range(len(a))일반적으로 파이썬에 대해 상당히 경험이없는 사람들 이라고 생각한다 (일반적으로 프로그래밍에 반드시 필요한 것은 아니지만).