查找列表中包含1行字符的列表中所有元素的总和

时间:2017-06-19 07:50:50

标签: python-2.7 list

ab = [ ['5','6','7','8','9','10'],['1','2','3'],['3','4','5']]
print sum([sum(int(x) for x in y for y in ab])])

我必须用一个print语句找到ab中所有元素的总和。我正在尝试将每个列表的每个元素转换为int并创建一个列表,其中包含每个列表的总和。 我收到语法错误,不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

您正在为y(外部循环)的for循环之前定义x(内部循环)的for循环。这就是为什么它不起作用。你需要的是print sum(int(x) for y in ab for x in y) 此外,在这里使用生成器可能更好,因为您没有重复使用该列表,因为它更有效。