创建一个新列表,枚举 Python 中另一个列表中的随机整数

Create a new list enumerating the random integers from another list in Python

我需要模拟某个场景

所以我定义了一个变量,它生成一个由随机整数组成的循环。

我得到例如:

list = [2, 35, 4, 8, 56, 10]

然后,我通过另一个循环生成这个随机列表 50 次,并将数据存储到字典中以可视化 Pandas 数据框。

data_dict = {'random_numers': list}
data_dict_pd = pd.DataFrame(data_dict)

所以我得到了这个例子:

[1, 16, 6, 6, 1, 10]
[3, 8, 4, 4, 1, 20, 7, 25, 12]
[14, 8, 16, 4, 11, 18, 5, 15, 24, 2, 15, 5]
[7, 24, 1, 14]
[5, 14, 19, 24, 1]
... 50 times. 

现在,我需要创建另一个列来枚举每个元素列表中的每个数字,以根据之前的结果获得以下内容:

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
[1, 2, 3, 4]
[1, 2, 3, 4, 5]
...50 times. 

其实想出了下面的但是错了:

new_list = []
 for index in enumerate(list)
    new_list.append(index)

有更好的主意吗?

我强烈建议更改列表的名称,因为 list 用于 Python 个列表。

假设您将其更改为 l,我将使用:

l = [2, 35, 4, 8, 56, 10]
new_list = []
for i in range(1, len(l) + 1):
    new_list.append(i)
print(new_list)

输出: [1, 2, 3, 4, 5, 6]

如果你需要的是迭代列表列表,并结合@deceze建议(前提是你不重命名list):

lists = [
    [1, 16, 6, 6, 1, 10],
    [3, 8, 4, 4, 1, 20, 7, 25, 12],
    [14, 8, 16, 4, 11, 18, 5, 15, 24, 2, 15, 5],
    [7, 24, 1, 14],
    [5, 14, 19, 24, 1]
]

new_lists = [list(range(1, len(lst) + 1)) for lst in lists]
print(new_lists)

输出: [[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [1, 2, 3, 4], [1, 2, 3, 4, 5]]

new_list = []
for index in range(1,len(list)+1)
    new_list.append(index)

应该用来代替枚举器,因为它将去 return 对。

谢谢,