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

xs = [8, 23, 45]

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

所需的产量:

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

当前回答

很容易从 0 以外的 1 开始:

for index, item in enumerate(iterable, start=1):
   print index, item  # Used to print in python<3.x
   print(index, item) # Migrate to print() after 3.x+
   

其他回答

如果列表中没有双重值:

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

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

for x in range(0, 5):

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

要获得指数的值,使用

list[index]
for i in range(len(ints)):
   print(i, ints[i]) # print updated to print() in Python 3.x+ 

很容易从 0 以外的 1 开始:

for index, item in enumerate(iterable, start=1):
   print index, item  # Used to print in python<3.x
   print(index, item) # Migrate to print() after 3.x+
   

您可以使用指数方法:

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

如果你想得到指数和值在英寸作为列表的<unk>。

它使用列表方法在这个问题的选择答案,但与列表理解,使它更快的代码较少。