首页 > 解决方案 > 如何在列表中生成 N 个列表中的 N 个数字

问题描述

- 如果我有一个长度为 n 的列表,请说:

N = [1, 3, 5, 7]  (in this case n = 4)

-我想从 N 个列表中生成 n 个列表(所以在这种情况下,我将生成 4 个列表)

-而且我还希望这些生成列表的长度为 r。(假设在这种情况下 r = 3):

- 所有这些 r 值都应该有 N 的递增值

- 所以,我想要类似的东西:

[1, 1, 1]
[3. 3, 3]
[5, 5, 5]
[7, 7, 7]

-最后,我还想给它们命名……比如:

a_1 = [1, 1, 1]
a_2 = [3. 3. 3]
a_3 = [5, 5, 5]

标签: python

解决方案


首先你必须遍历你的初始列表,然后你可以用你的一个值创建一个新列表,然后简单地将它乘以你的 r 以获得所需的输出:

r = 3
N = [1, 3, 5, 7]

result = {}
for idx, item in enumerate(N):
    result[idx] = [item]*r

有一些方法可以为每个列表创建单独的变量,但字典可能是最好的方法,我使用原始列表中的值的索引作为键,输出如下所示:

{
    0: [1, 1, 1], 
    1: [3, 3, 3], 
    2: [5, 5, 5], 
    3: [7, 7, 7]
}

推荐阅读