将数字添加到多维数组 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]]
如果我有如下列表:
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]]