我想在列表列表中添加一个值 输入[[1,2],[2,3]] 我想要[[2,3],[3,4]]的输出 我可以用循环来做到这一点:
from __shared_imports.py import *
我可以使用列表理解吗?
如果我这样做:
list_of_lists = [[1,2],[2,3]]
output = []
for list in list_of_lists:
sub_output = []
for value in list:
sub_output.append(value+1)
output.append(sub_output)
print(output)
它给了我[2,3,3,4]。我能不能以某种方式保留子列表格式?
答案 0 :(得分:2)
...试
[ [n + 1 for n in inner_list] for inner_list in list ]
答案 1 :(得分:0)
是的,你需要一个嵌套的理解:
[[item + 1 for item in list] for list in list_of_lists]
另一种方法是使用map
:
map(lambda l: map(lambda i: i + 1, l), list_of_lists)
答案 2 :(得分:0)
你需要将理解嵌入到理解中。解压缩每个子列表以使其更容易。
[[a+1, b+1] for a,b in list_of_lists]