首页 > 解决方案 > Python - 从另一个列表中获取所有索引

问题描述

我正在尝试附加另一个列表的索引列表。

我有一个带有随机数的列表,需要创建另一个列表,其中包含第一个列表的索引。

我的代码是这样的:

from random import seed
from random import randint
seed(715)
g1 = []
g2 = []
for v in range(20328):
valor = randint(40, 220)
g1.append(valor)


for v in enumerate(g1):
    g2.append(v)

print("v g1[v] g2[v] g1[g2[v]]")
for v in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
    print(v, g1[v], g2[v], g1[g2[v]])

但我收到以下错误:

print(v, g1[v], g2[v], g1[g2[v]])
TypeError: list indices must be integers or slices, not tuple

我究竟做错了什么?

标签: python

解决方案


g2 设置为程序中的元组列表,而不是整数。如果您使用print(g2[0])查看里面的内容,您会得到类似于g2[0]:(0, 69)元组的内容。所以这就是问题所在。

您可以使用以下任何方法来解决此问题:

for v in enumerate(g1):
    g2.append(v[1])

或者

for index, value in enumerate(g1):
    g2.append(value)

或者

for value in g1:
    g2.append(value)

有用的资源: https ://docs.python.org/3/library/functions.html#enumerate


推荐阅读