我如何访问指数,同时在一个序列上以一个为旋转的序列?
xs = [8, 23, 45]
for x in xs:
print("item #{} = {}".format(index, x))
所需的产量:
item #1 = 8
item #2 = 23
item #3 = 45
我如何访问指数,同时在一个序列上以一个为旋转的序列?
xs = [8, 23, 45]
for x in xs:
print("item #{} = {}".format(index, x))
所需的产量:
item #1 = 8
item #2 = 23
item #3 = 45
当前回答
如果列表中没有双重值:
for i in ints:
indx = ints.index(i)
print(i, indx)
其他回答
for i in range(len(ints)):
print(i, ints[i]) # print updated to print() in Python 3.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)
>>>
如果列表中没有双重值:
for i in ints:
indx = ints.index(i)
print(i, indx)
你也可以尝试一下:
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']
正如Python的标准一样,有几种方法可以做到这一点。在所有例子中,假设:lst = [1, 2, 3, 4, 5]
使用列表(被认为是最愚蠢的)
for index, element in enumerate(lst):
# Do the things that need doing here
这也是我认为最安全的选择,因为进入无限回归的机会已经消失了,项目和其指数都保持在变量中,并且没有必要写下任何额外的代码才能访问项目。
创建一个变量以保持指数(使用为)
for index in range(len(lst)): # or xrange
# you will have to write extra code to get the element
创建一个变量以保持指数(使用时)
index = 0
while index < len(lst):
# You will have to write extra code to get the element
index += 1 # escape infinite recursion
总是有另一种方式
如前所述,有其他方法来做到这一点,没有在这里解释,他们甚至可能在其他情况下更适用。