将数字添加到多维数组 python

add number to multidimensional array python

如果我有如下列表:

t = [[221.0, 223.0, 43.4],[32.5, 56.7, 65.4, 54.6]]

如何为每个数字添加一个值?例如,我想为每个数字加 1,因此列表如下所示:

tt = [[222.0, 223.0, 44.4],[33.5, 57.7, 66.4, 55.6]]

目前,我可以编写代码用第二个列表替换第一个列表,但我想创建一个新列表同时保留第一个列表。谢谢!

鉴于您正在使用列表,您可以使用以下嵌套列表理解,其中 returns 另一个嵌套列表 1 添加到子列表中的每个数字:

[[j + 1 for j in i] for i in t]
[[222.0, 224.0, 44.4], [33.5, 57.7, 66.4, 55.6]]

所以简单地做:

t = [[221.0, 223.0, 43.4],[32.5, 56.7, 65.4, 54.6]]
tt = [[j + 1 for j in i] for i in t]

您可以使用运算符 add() 创建部分函数,​​它将一个数与另一个数相加

from functools import partial
from operator import add

add_one = partial(add, 1)
print(add_one(1))
# 2
print(add_one(2))
# 3

并将函数 add_one() 映射到子列表中的每个元素。

t = [[221.0, 223.0, 43.4],[32.5, 56.7, 65.4, 54.6]]

tt = [list(map(add_one, i)) for i in t]
# [[222.0, 224.0, 44.4], [33.5, 57.7, 66.4, 55.6]]