루프 (loop) '에서' 에 대해 다음과 같은 인덱스화할 액세스하려면 어떻게 합니까?
ints = [8, 23, 45, 12, 78]
for i in ints:
print('item #{} = {}'.format(???, i))
난 로렌아줌마가 afaq afnor 출력:
<! - 언어: > 없음 -;
item #1 = 8
item #2 = 23
item #3 = 45
item #4 = 12
item #5 = 78
루프 (loop) '를 통해' 내가 사용해 그 때, 이 경우 1 에서 5 루프 인덱스화하여 액세스하려면 어떻게 합니까?
추가로 상태 변수를 사용하여 색인 같이 변수 (또는 PHP 언어로 사용할 수 있으며, 일반적으로 C 같은), 고려되는지 파이썬 비사양.
더 나은 방법은 내장 함수를 사용하여 [' ()' 열거합니다.] [1] 에서 사용할 수 있는 두 파이썬 2 와 3:
for idx, val in enumerate(ints):
print(idx, val)
[PEP 279] [2] 체크아웃합니다 intel. com/performance/mobile/benchmarks.
[1]: https://docs.python.org/3/library/functions.html # 열거하십시오 " enumerate"; [2]: https://www.python.org/dev/peps/pep-0279/ " PEP 279";
>. # For 루프 (loop) 이 경우 1 부터 5 까지 인덱스화하여 액세스하려면 어떻게 합니까?
'때' 를 사용하여 열거하십시오 내려받습니다 인덱스화할 요소와 반복.
for index, item in enumerate(items):
print(index, item)
그리고 참고로 Python& # 39 의 시작, 제로 (0 ~ 4 개 위에 있는 확보하십시오 인덱스화합니다 얻으실 수 있습니다. 1, 5, 이 일을 하려면 카운트입니다.
for count, item in enumerate(items, start=1):
print(count, item)
파이썬 너희는너희가 요구하고 있는 대부분의 프로그래머가 알고리즘입니다 avamer 는 다음과 같은 하위 언어들을 사용하게 된다.
>. # # 39, s = 0 에서 인덱스화할 Python& 인덱스화를 제로 >. 항목에 대한 항목: # # 39 는 s 에 대한 Python& " each", 실로 구성된다. 루프 >. 보기인쇄 (인덱스화하여 항목) >. 인덱스화할 + = 1
또는 없는 언어로 각 루프:
>. 인덱스화할 = 0 >. 반면 인덱스화할 <. 렌 (항목): >. 보기인쇄 (인덱스화하여 항목에서와 [인덱스화할]) >. 인덱스화할 + = 1
가끔은 더 일반적으로, (단, 유니디머티칼리) 에서 볼 수 있다.
>. 인덱스에 대한 범위 (렌 (항목): >. 보기인쇄 (인덱스화하여 항목에서와 [인덱스화할])
for index, item in enumerate(items, start=0): # default is zero
print(index, item)
이 코드 샘플은 아주 잘 [정식] [2] 의 성어는 파이썬 및 코드 예제 코드 간의 차이가 있는 것은 아니다. (단, 복잡한) 로 작성된 코드는 파이썬, 정교한 성어는 전송되었기 방식을 사용할 수 있도록 하기 위한 것입니다. 즉, 일반적으로 이 성어는 언어의 설계자는 필요한 코드는 코드가 더 판독값, 뿐만 아니라 더 효율적이다.
for count, item in enumerate(items, start=1): # default is zero
print(item)
print('there were {0} items printed'.format(count))
카운트 더 요구할 계획인 것으로 너희는너희가 횡격막탈장의 당신이 원하는 것과는 반대로 인덱스화할) 때 1 부터 5.
이러한 예는 아래, 우리는 우리가 원하는 분할하려면 말하도다 목록니다 항목과의 함께 반복할 색인:
items = ['a', 'b', 'c', 'd', 'e']
이제 우리는 이 이트레이블 만드는 데 전달하십시오 열거하십시오 열거하십시오 객체에는:
enumerate_object = enumerate(items) # the enumerate object
우리가 할 수 있는 첫 번째 항목을 당기십시오 아웃해야 이트레이블 '다음' 기능을 통해 이 루프가 들어갈 것 "이라고 말했다.
iteration = next(enumerate_object) # first iteration from enumerate
print(iteration)
그리고 우리가 지켜보리니 튜플 '0' 의 첫 번째 인덱스화할 얻고, a& # 39, & # 39 '및' 첫 번째 항목:
(0, 'a')
어떤 이용할 수 있다. [e0100042.log 꺼내기] [3] " " 피쳐라고 합니다. 이 중에서 푸십시오 두 개의 튜플:
index, item = iteration
# 0, 'a' = (0, 'a') # essentially this.
하나님이 검사 '및' 0 '이 용어는 처음 인덱스화하여 인덱스화할 구하사 찾기' 는 a& # 39, & # 39 품목으로부터 첫 번째 항목을 ','.
>>> print(index)
0
>>> print(item)
a
시작 - Python 인덱스화합니다 제로 이러한 인덱스화합니다 이트레이블 반복할 때 얻기 위해 이 기능을 사용하여 에서 열거합니다.
그러니까 이:
for index, item in enumerate(items, start=0): # Python indexes start at zero
print(index, item)
[1]: https://docs.python.org/2/library/functions.html # 열거합니다. [2]: # 항목 2 인덱스화할 열거합니다. goodger/projects/pycon/2007/idiomatic/handout.html ~ http://python.net/ [3]: https://docs.python.org/2/tutorial/datastructures.html # 튜플을 및 시퀀스에만
있는 그대로 (norm 파이썬 여러 가지 방법이 있습니다. 모든 예에서 solaris.: [1, 2, 3, 4, 5] '=' lst
인덱스화하여 요소에 대한 열거하십시오 (lst):
제 생각에는 전환될 가능성이 있기 때문에 이 역시 가장 안전한 옵션을 무한 반복 설정되었습니다 말았다. 모두 항목과 인덱스화할 com/go/4e6b330a_kr 열린 더 어떤 코드를 작성할 필요가 없다 있다. 품목으로부터 액세스하려면.
인덱스에 대한 범위 (렌 (lst): # 또는 그레인지
인덱스화할 = 0 반면 인덱스화할 <. 렌 (lst):
운행에서어떠한 구식이다.
for ix in range(len(ints)):
print ints[ix]
목록 것이다.
[ (ix, ints[ix]) for ix in range(len(ints))]
>>> ints
[1, 2, 3, 4, 5]
>>> for ix in range(len(ints)): print ints[ix]
...
1
2
3
4
5
>>> [ (ix, ints[ix]) for ix in range(len(ints))]
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
>>> lc = [ (ix, ints[ix]) for ix in range(len(ints))]
>>> for tup in lc:
... print tup
...
(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
>>>
제발 지켜보리니 사용할 수 있는 상이한 반복할 목록 및 액세스 인덱스화할 가치와 그들의 공연을 메트릭에 (예를 들어, 내가 유용하게 사용할 수 있는 당신꺼에요) 의 코드 샘플링합니다 다음과 같습니다.
from timeit import timeit
# Using range
def range_loop(iterable):
for i in range(len(iterable)):
1 + iterable[i]
# Using xrange
def xrange_loop(iterable):
for i in xrange(len(iterable)):
1 + iterable[i]
# Using enumerate
def enumerate_loop(iterable):
for i, val in enumerate(iterable):
1 + val
# Manual indexing
def manual_indexing_loop(iterable):
index = 0
for item in iterable:
1 + item
index += 1
각 com/go/lrvid4005_ps_kr 성능 측정 방법은 다음과 같습니다.
from timeit import timeit
def measure(l, number=10000):
print "Measure speed for list with %d items" % len(l)
print "xrange: ", timeit(lambda :xrange_loop(l), number=number)
print "range: ", timeit(lambda :range_loop(l), number=number)
print "enumerate: ", timeit(lambda :enumerate_loop(l), number=number)
print "manual_indexing: ", timeit(lambda :manual_indexing_loop(l), number=number)
measure(range(1000))
# Measure speed for list with 1000 items
# xrange: 0.758321046829
# range: 0.701184988022
# enumerate: 0.724966049194
# manual_indexing: 0.894635915756
measure(range(10000))
# Measure speed for list with 100000 items
# xrange: 81.4756360054
# range: 75.0172479153
# enumerate: 74.687623024
# manual_indexing: 91.6308541298
measure(range(10000000), number=100)
# Measure speed for list with 10000000 items
# xrange: 82.267786026
# range: 84.0493988991
# enumerate: 78.0344707966
# manual_indexing: 95.0491430759
그 결과, 가장 빠른 방법은 '범위' 를 사용하여 최대 목록 (1000년 할 수 있습니다. List 를 위한 크기 >. 10 열거하십시오 아이템 '000' 는 없다.
몇 가지 유용한 링크가 추가 (아래 참조).
[1]: https://docs.python.org/2/library/functions.html # 범위 [2]: https://docs.python.org/2/library/functions.html # 열거합니다.
첫째, indexe 0 도에서 4. 프로그래밍 언어 계산을 시작할 0mb. # 39, t forget 그거거나 아니면 don& 색인 (out of bound) idfsysobject. 발견한 것입니다. All you need for 루프 변수가 있는 0mb 계산 등 4 개 있습니다.
for x in range(0, 5):
적용부 마음을 갖고 있기 때문에 한 숫자 0 에서 5 작성했습니까 루프 정지점으로 전에 막스야:)
사용 인덱스화할 값을 얻을 수 있다.
list[index]
이 자료에 따르면 토론: http://bytes.com/topic/python/answers/464012-objects-list-index
루프 엇회전식 이터레이션에
지수 '를 통해 현재 관용구 루프을 사용 범위' 내장 기능:
for i in range(len(sequence)):
# work with index i
루프을 요소 및 지수 모두를 통해 달성할 수 있는 방법으로 기존의 zip '새' 를 사용하여 관용구 또는 내장 기능:
for i in range(len(sequence)):
e = sequence[i]
# work with index i and element e
또는
for i, e in zip(range(len(sequence)), sequence):
# work with index i and element e
이 코드를 함께 할 수 있습니다.
ints = [8, 23, 45, 12, 78]
index = 0
for value in (ints):
index +=1
print index, value
이 코드를 사용하여 인덱스화할 재설정하려면 말 하는 경우 값을 루프 (loop):
ints = [8, 23, 45, 12, 78]
index = 0
for value in (ints):
index +=1
print index, value
if index >= len(ints)-1:
index = 0
In [1]: ints = [8, 23, 45, 12, 78]
In [2]: for idx, val in enumerate(ints):
...: print(idx, val)
...:
(0, 8)
(1, 23)
(2, 45)
(3, 12)
(4, 78)
ᄋ "이번 도움이 됩니다.
If I were 반복할 수 있으며 'num = [1, 2, 3, 4, 5] "나는 해야한다고
for i, num in enumerate(nums, start=1):
print(i, num)
L = 렌 (num) '또는' 로 디스테이징하는 확보하십시오.
for i in range(1, l + 1):
print(i, nums[i])
이 시도하시겠습니까 수도 있습니다.
data = ['itemA.ABC', 'itemB.defg', 'itemC.drug', 'itemD.ashok']
x = []
for (i, item) in enumerate(data):
a = (i, str(item).split('.'))
x.append(a)
for index, value in x:
print(index, value)
출력은
0 ['itemA', 'ABC']
1 ['itemB', 'defg']
2 ['itemC', 'drug']
3 ['itemD', 'ashok']
이 질문에 " 루프를 작성하는 액세스하려면 어떻게 합니까, 이 경우, 1 부터 5 까지 인덱스화하여 ",
하지만 지수는 바뀌엇어요 역에서부터 제로. 그렇다면 지금 우리가 해야 할 다운로드되었는지 너희는너희가 실제로 원하는 것은 각 목록의 항목 또는 인덱스 및 항목으로의 작성하든지 정녕 숫자임 시작으로 1. 다행히 쉽게 할 수 있는 파이썬, 하나 또는 둘 다.
먼저, 이 ',' 기능은 반복적으로 구체화합니다 열거하십시오 인덱스할 되돌려줍니다 .해당 항목으로의 각 목록의 항목.
alist = [1, 2, 3, 4, 5]
for n, a in enumerate(alist):
print("%d %d" % (n, a))
그리고, 위의 출력물에는 "'없음 0 1 1 2 2 3 3 4 4 5 "' 0mb 런입니다 인덱스화할 있음을 알 수 있습니다. 이런 가운데 현대 프로그래밍 언어에서 파이썬 및 c 등 흔히 인덱스화를
원하는 경우에는 루프를 일부를 스팬할 목록에 명단요 부분에 대한 표준 파이썬 문법을 사용할 수 있습니다. 예를 들어, 두 번째 항목은 최대 포함하지 않음) 에서 루프 바뀌엇어요 마지막 항목을 사용할 수 있습니다
for n, a in enumerate(alist[1:-1]):
print("%d %d" % (n, a))
참고로, 다시 한 번 출력물에는 런입니다 인덱스화할 0mb, "'없음 0 2 1 3 2 4 "' '시작' 스위치 '를 위한 열거하십시오 고려해야 합니다 = n ()'. 이는 단순히 인덱스 숫자를 추가할 수 있습니다 오프셋합니다 인덱스화하여 루프 내에 가리킨다.
for n, a in enumerate(alist, start=1):
print("%d %d" % (n, a))
이를 위해 출력은 "'없음 1 1 2 2 3 3 4 4 5 5 "'
'인덱스' 방법을 사용할 수 있습니다.
ints = [8, 23, 45, 12, 78]
inds = [ints.index(i) for i in ints]
ints = [8, 8, 8, 23, 45, 12, 78]
inds = [tup[0] for tup in enumerate(ints)]
또는
ints = [8, 8, 8, 23, 45, 12, 78]
inds = [tup for tup in enumerate(ints)]
'정수' 의 값이 모두 afaq 스케쳐내 인덱스할 목록으로 튜플을.
It 가 선택한 방법은 '열거하십시오' 이 질문의 답을 갖추고 있지만, 보다 빠른 it userdic. 적은. 코드 목록 것이다.