# 39, & # 39 의 인덱스화할 액세스하면 for&. 루프?

루프 (loop) '에서' 에 대해 다음과 같은 인덱스화할 액세스하려면 어떻게 합니까?

ints = [8, 23, 45, 12, 78]
for i in ints:
    print('item #{} = {}'.format(???, i))

난 로렌아줌마가 afaq afnor 출력:

<! - 언어: &gt 없음 -;

item #1 = 8
item #2 = 23
item #3 = 45
item #4 = 12
item #5 = 78

루프 (loop) '를 통해' 내가 사용해 그 때, 이 경우 1 에서 5 루프 인덱스화하여 액세스하려면 어떻게 합니까?

질문에 대한 의견 (1)
해결책

추가로 상태 변수를 사용하여 색인 같이 변수 (또는 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 # 열거하십시오 &quot enumerate"; [2]: https://www.python.org/dev/peps/pep-0279/ &quot PEP 279";

해설 (2)

&gt. # 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 는 다음과 같은 하위 언어들을 사용하게 된다.

&gt. # # 39, s = 0 에서 인덱스화할 Python& 인덱스화를 제로 &gt. 항목에 대한 항목: # # 39 는 s 에 대한 Python& &quot each&quot, 실로 구성된다. 루프 &gt. 보기인쇄 (인덱스화하여 항목) &gt. 인덱스화할 + = 1

또는 없는 언어로 각 루프:

&gt. 인덱스화할 = 0 &gt. 반면 인덱스화할 &lt. 렌 (항목): &gt. 보기인쇄 (인덱스화하여 항목에서와 [인덱스화할]) &gt. 인덱스화할 + = 1

가끔은 더 일반적으로, (단, 유니디머티칼리) 에서 볼 수 있다.

&gt. 인덱스에 대한 범위 (렌 (항목): &gt. 보기인쇄 (인덱스화하여 항목에서와 [인덱스화할])

List. 함수은 열거합니다.

39 의 python& ['' 기능을 열거합니다.] [1] 는 인텔®visual 단순화됩니다 감추고 있는 다른 영역으로 이트레이블 이트레이블 차지하는 있는 인덱스, 캡슐화 (an '' 객체에는 열거하십시오) 는 당초 이 두 항목 튜플 익올때 있는 색인 및 항목으로의 이트레이블 제공할 것이라고 밝혔다. 그 다음과 같습니다.

for index, item in enumerate(items, start=0):   # default is zero
    print(index, item)

이 코드 샘플은 아주 잘 [정식] [2] 의 성어는 파이썬 및 코드 예제 코드 간의 차이가 있는 것은 아니다. (단, 복잡한) 로 작성된 코드는 파이썬, 정교한 성어는 전송되었기 방식을 사용할 수 있도록 하기 위한 것입니다. 즉, 일반적으로 이 성어는 언어의 설계자는 필요한 코드는 코드가 더 판독값, 뿐만 아니라 더 효율적이다.

생길 수

39, t need don& 경우에도 indexe as you go), (때로는 것은) 필요한 확장하지만 수를 이터레이션에 '1' 과 함께 최종 수치가 너회의 카운트입니다 시작할 수 있습니다.

for count, item in enumerate(items, start=1):   # default is zero
    print(item)

print('there were {0} items printed'.format(count))

카운트 더 요구할 계획인 것으로 너희는너희가 횡격막탈장의 당신이 원하는 것과는 반대로 인덱스화할) 때 1 부터 5.

Breaking it down - 단계별 설명

이러한 예는 아래, 우리는 우리가 원하는 분할하려면 말하도다 목록니다 항목과의 함께 반복할 색인:

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] &quot &quot 피쳐라고 합니다. 이 중에서 푸십시오 두 개의 튜플:

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 # 튜플을 및 시퀀스에만

해설 (0)

39 의 it& '1' 에서 '0' 이 아닌 아주 간단한 시작.

for index, item in enumerate(iterable, start=1):
   print index, item

참고

이후 약간의 오해의 소지가 될 수 있지만, 중요한 힌트 '인덱스화할 튜플' ' (idx, 아이템)' '' here. 상황보고해 움직일만 합니다.

해설 (3)
for i in range(len(ints)):
   print i, ints[i]
해설 (7)

있는 그대로 (norm 파이썬 여러 가지 방법이 있습니다. 모든 예에서 solaris.: [1, 2, 3, 4, 5] '=' lst

  1. () 으로 가장 성어는 ) 를 사용하여 열거합니다.

인덱스화하여 요소에 대한 열거하십시오 (lst):

movd 여긴 하는 것을

제 생각에는 전환될 가능성이 있기 때문에 이 역시 가장 안전한 옵션을 무한 반복 설정되었습니다 말았다. 모두 항목과 인덱스화할 com/go/4e6b330a_kr 열린 더 어떤 코드를 작성할 필요가 없다 있다. 품목으로부터 액세스하려면.

  1. ( '를 사용하여' ) 를 누르고 인덱스화할 변수 작성

인덱스에 대한 범위 (렌 (lst): # 또는 그레인지

내려받습니다 요소 추가 코드를 쓰지 않을 것입니다.

  1. ( 사용하여 '동시에' ) 를 누르고 인덱스화할 변수 작성

인덱스화할 = 0 반면 인덱스화할 &lt. 렌 (lst):

내려받습니다 요소 추가 코드를 쓰지 않을 것입니다.

이스케이프입니다 무한 반복 인덱스화할 + = 1

  1. 또 다른 방법은 항상
  • 앞서 설명한 적이 없는 다른 방법이 있습니다 여기서 그들은 그렇게 할 수도 있습니다) 에 더 적용하십시오 다른 상황을 설명했다. 에드그 '' 을 사용하여 아르투로슈자클랭. 다른 것보다 더 나은 참조용이므로 네스트된 루프 처리한다.
해설 (0)

운행에서어떠한 구식이다.

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)
>>> 
해설 (3)
  • 파이썬 2.7* 목록의 가장 빠른 액세스하려면 인덱스화합니다 루프의 안에 사용할 수 있다 [maxvalorarray 방법] [1] 및 [열거하십시오 방법] [2] 의 거대한 크기를 중견 · 중소 열거합니다 열거합니다.

제발 지켜보리니 사용할 수 있는 상이한 반복할 목록 및 액세스 인덱스화할 가치와 그들의 공연을 메트릭에 (예를 들어, 내가 유용하게 사용할 수 있는 당신꺼에요) 의 코드 샘플링합니다 다음과 같습니다.

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 를 위한 크기 &gt. 10 열거하십시오 아이템 '000' 는 없다.

몇 가지 유용한 링크가 추가 (아래 참조).

[1]: https://docs.python.org/2/library/functions.html # 범위 [2]: https://docs.python.org/2/library/functions.html # 열거합니다.

해설 (2)

첫째, 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]
해설 (0)

이 자료에 따르면 토론: 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

http://www.python.org/dev/peps/pep-0212/ via

해설 (3)

이 코드를 함께 할 수 있습니다.

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
해설 (0)
    • 에 빌드 열거하십시오 파이썬 함수를 사용하여 이 문제에 대한 최선의 해결책이 있다. &lt br>;
        • 튜플 열거하십시오 복귀하십시오 &lt br>; , 인덱스화할 첫 번째 값이 &lt br&gt.
    • 요소점 array) 에서 두 번째 값은 인덱스화할
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)
해설 (0)

# 39, Here& # 39 의 '는' s what you get you& 때, re 액세스을 인덱스화할 루프:

  • '에서 &gt, 내가 열거하십시오 (항목): 보기인쇄 (i) '*

! [입력하십시오. 이미지 여기에 설명을] [1]

  • '에서, 발, 내가 &gt 열거하십시오 (항목): 보기인쇄 (i, 발) '*

! [입력하십시오. 이미지 여기에 설명을] [2]

  • '에서, 발, 내가 &gt 열거하십시오 (항목): 보기인쇄 (i) '*

! [입력하십시오. 이미지 여기에 설명을] [3]

ᄋ "이번 도움이 됩니다.

해설 (0)

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])
해설 (0)

복제본임을 없으면 값이 목록:

for i in ints:
    indx = ints.index(i)
    print(i, indx)
해설 (2)

이 시도하시겠습니까 수도 있습니다.

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']
해설 (0)

이 질문에 &quot 루프를 작성하는 액세스하려면 어떻게 합니까, 이 경우, 1 부터 5 까지 인덱스화하여 &quot,

하지만 지수는 바뀌엇어요 역에서부터 제로. 그렇다면 지금 우리가 해야 할 다운로드되었는지 너희는너희가 실제로 원하는 것은 각 목록의 항목 또는 인덱스 및 항목으로의 작성하든지 정녕 숫자임 시작으로 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 "'

해설 (0)

'인덱스' 방법을 사용할 수 있습니다.

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. 적은. 코드 목록 것이다.

해설 (0)

튜플 (인덱스화하여 값) 의 인쇄하려면 사용하여 목록에 '번역' 을 루프:

ints = [8, 23, 45, 12, 78]
print [(i,ints[i]) for i in range(len(ints))]

출력:

[(0, 8), (1, 23), (2, 45), (3, 12), (4, 78)]
해설 (0)

이 목적을 충분히 잘 역할을 한다.

list1 = [10, 'sumit', 43.21, 'kumar', '43', 'test', 3]
for x in list1:
    print('index:', list1.index(x), 'value:', x)
해설 (3)