如果我有如下列表: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]]目前,我可以编写代码用第二个列表替换第一个列表,但我想创建一个新列表,同时保留第一个列表。谢谢!
2 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
鉴于您正在使用列表,您可以使用以下嵌套列表理解,它返回另一个嵌套列表,并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]
慕桂英3389331
TA贡献2036条经验 获得超8个赞
您可以使用运算符创建偏函数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]]
添加回答
举报
0/150
提交
取消