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

xs = [8, 23, 45]

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

所需的产量:

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

当前回答

如果我要重定数 = [1, 2, 3, 4, 5] 我会

for i, num in enumerate(nums, start=1):
    print(i, num)

或得到长度为 l = len(数字)

for i in range(l):
    print(i+1, nums[i])

其他回答

您可以使用范围(len(some_list)) 然后查看此类指数

xs = [8, 23, 45]
for i in range(len(xs)):
    print("item #{} = {}".format(i + 1, xs[i]))

或者使用Python的内置列表功能,允许您在列表上滚动并获取列表中的每个项目的指数和值。

xs = [8, 23, 45]
for idx, val in enumerate(xs, start=1):
    print("item #{} = {}".format(idx, val))

它可以通过以下代码实现:

xs = [8, 23, 45]
for x, n in zip(xs, range(1, len(xs)+1)):
    print("item #{} = {}".format(n, x))

在这里,范围(1, len(xs)+1);如果您预计输出将从1开始,而不是0,您需要从1开始,并将1添加到估计的总长度,因为Python开始默认地从0索引数字。

Final Output:
item #1 = 8
item #2 = 23
item #3 = 45

使用内置函数列():

for idx, x in enumerate(xs):
    print(idx, x)

它是非皮托尼的手动索引通过 i 在范围(len(xs)): x = xs(i) 或手动管理一个额外的状态变量。

查看 PEP 279 更多信息

除了上述所有优秀的答案之外,这里还有解决这个问题的解决方案,当与Pandas系列对象一起工作时。在许多情况下,Pandas系列有自定义/独特的指标(例如,独特的识别线),无法通过列出的()函数访问。

下面我们可以看到,列表()不会给我们所需的结果:

id, x in enumerate(xs): print("id #{} = {}".format(id, x)) 输出: # id #0 = 8 # id #1 = 23 # id #2 = 45

我们可以使用.items( ) 访问一个 pandas 系列的指标,以便使用 A for loop:

对于 id, x 在 xs.items(): 打印("id #{} = {}".format(id, x)) 输出: # id #G923002 = 8 # id #G923004 = 23 # id #G923005 = 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+