创建一个新列表,枚举 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 对。
谢谢,
我需要模拟某个场景
所以我定义了一个变量,它生成一个由随机整数组成的循环。
我得到例如:
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 对。
谢谢,