繁体   English   中英

动态添加元素到多维 python 列表

[英]Dynamically add elements to multi-dimensional python list

我试图将元素添加到类似这样的列表数组中

a = 1
b = 2
c = 3
d = [[],[],[]]
for i in range(3):
    d[i] = [a,b,c]
print(d)

我想要d拥有的是[[1,2,3], [1,2,3], [1,2,3]]但动态而无需指定列表中[]的数量

如何动态地做到这一点?

你想要这样的东西。?

a = 1
b = 2
c = 3
d = []
for i in range(3):
    d.append([a,b,c])

print(d)

Output:

[[1, 2, 3], [1, 2, 3], [1, 2, 3]]

让您的输入是一个值列表并制作 function 以返回您的方阵。 这不需要提前知道要生成多少列表。

a = 1
b = 2
c = 3

def square_matrix(values : list) -> list:
    d = []

    for _ in range(len(values)):
        d.append([x for x in values])

    return d

sq_mat = square_matrix([a, b, c]) # [[1,2,3], [1,2,3], [1,2,3]]

这假设您想要与您拥有的值一样多的列表。 如果您希望列表的数量与值的数量不同,请将 function 更改为如下所示:

def nested_lists(values : list, num_of_lists : int) -> list:
    d = []
    for _ in range(num_of_lists):
        d.append([x for x in values])
    return d

my_lists = nested_lists([a,b,c], 2) # [[a,b,c], [a,b,c,]]

如果你只想用预定义的值填充列表,你可以做这样的事情

d = [[a,b,c]]*3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM