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并创建一个列表,其中包含每个列表的总和。 我收到语法错误,不知道该怎么做。
答案 0 :(得分:0)
您正在为y(外部循环)的for
循环之前定义x(内部循环)的for
循环。这就是为什么它不起作用。你需要的是print sum(int(x) for y in ab for x in y)
此外,在这里使用生成器可能更好,因为您没有重复使用该列表,因为它更有效。