将值添加到列表列表中

时间:2015-11-28 02:13:24

标签: python list-comprehension

我想在列表列表中添加一个值 输入[[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]。我能不能以某种方式保留子列表格式?

3 个答案:

答案 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]