将简单列表推导转换为for循环

时间:2017-12-05 23:58:34

标签: python for-loop list-comprehension

我的目标是将此列表理解转换为for循环:

[[x * y for x in  [1, 2]] for y in [3, 4, 5]]
# gives [[3,6], [4,8], [5,10]] 

我唯一能找到的东西:

List = []
for y in [3, 4, 5]:
    for x in [1, 2]:
        List.append([y * x])
# Gives [[3], [6], [4], [8], [5], [10]]

我觉得很傻,但我很难找到解决方案。

2 个答案:

答案 0 :(得分:0)

取出方括号

List = []
for y in [3, 4, 5]:
    for x in [1, 2]:
        List.append(y * x)

在计算周围添加一个方括号使其成为python中的列表

答案 1 :(得分:0)

你需要在for循环之间有一个临时列表:

List = []
for y in [3, 4, 5]:
   l = []
   for x in [1, 2]:
       l.append(x*y)
   List.append(l)

输出:

[[3, 6], [4, 8], [5, 10]]