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))
일반적으로 파이썬에 대해 상당히 경험이없는 사람들 이라고 생각한다 (일반적으로 프로그래밍에 반드시 필요한 것은 아니지만).