我只想像下面一样添加两个列表。我不必使用嵌套列表,但可以将其更改为 numpy 数组。请告诉我。谢谢!
input
lst1 = [[1,0,1],[1,0,0],[0,1,0]]
lst2 = [[0,1,0],[1,0,1],[1,0,1]]
output
lst = [[1,1,1],[2,0,1],[1,1,1]]
我尝试使用简单的“+”添加或合并,但它似乎无法像 Pandas DataFrame 那样工作,您可以使用“+”执行相同的功能。我不愿意使用DataFrame,而是将其简化为列表或数组。
另外,如果这可以在不使用循环的情况下完成,那就太完美了!
请您参考如下方法:
使用 numpy:
np.add(lst1, lst2).tolist()
# [[1, 1, 1], [2, 0, 1], [1, 1, 1]]
如果你想要它更快并且可以使用 numpy 数组而不是列表列表,请忽略 .tolist():
np.add(lst1, lst2)
# array([[1, 1, 1],
# [2, 0, 1],
# [1, 1, 1]])
只要您的列表列表全部转换为数组,您就可以简单地编写 +,如果两个术语之一是数组就足够了:
lst1 + np.array(lst2)
# array([[1, 1, 1],
# [2, 0, 1],
# [1, 1, 1]])
