我如何访问指数,同时在一个序列上以一个为旋转的序列?

xs = [8, 23, 45]

for x in xs:
    print("item #{} = {}".format(index, x))

所需的产量:

item #1 = 8
item #2 = 23
item #3 = 45

当前回答

你也可以尝试一下:

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']

其他回答

这就足以实现目的:

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

古老的风格:

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)
>>> 

一个简单的答案,使用一段时间的旋转:

arr = [8, 23, 45, 12, 78]
i = 0
while i < len(arr):
    print("Item ", i + 1, " = ", arr[i])
    i += 1

出口:

Item  1  =  8
Item  2  =  23
Item  3  =  45
Item  4  =  12
Item  5  =  78

根据此讨论:对象列表指数

Loop 对抗 iteration

在指标上旋转的当前字符串使用内置范围功能:

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

通过PEP 212 - Loop Counter Iteration。

首先,指数将从 0 到 4. 编程语言开始从 0 计算; 不要忘记,或者你会遇到一个 index-out-of-bounds 例外。

for x in range(0, 5):

请记住,我写了0到5因为旋转停止一个数字之前的最高。

要获得指数的值,使用

list[index]