我正在上一门学习Python的课程。我们正在讨论列表理解的部分,我很难理解其中一个示例中发生的情况。我试图将其转换回 for 循环以了解发生了什么,但我遇到了问题。
示例: 1 我可以将其转换为 FOR 循环。输出是一样的
my_list1 = [ x * y for x in [20, 40, 60] for y in [2, 4, 6]]
print('My list 1', my_list1)
my_list2 = []
for x in [20, 40, 60]:
for y in [2, 4, 6]:
my_list2.append(x*y)
print(my_list2)
输出
我的列表 1 [40, 80, 120, 80, 160, 240, 120, 240, 360]
我的列表 2 [40, 80, 120, 80, 160, 240, 120, 240, 360]
示例 2:我在转换为 FOR 循环时遇到问题。我的输出是不同的。我不知道如何在列表中输出列表。第二组 [] 让我感到困惑。我不知道在转换为 FOR 循环时它们需要去哪里才能获得 as 列表中的列表作为结果。
你能解释一下我做错了什么吗?
my_list3 = [[x * y for x in [20, 40, 60]] for y in [2, 4, 6]]
print('My list 3', my_list3)
my_list4 = []
for x in [20, 40, 60]:
for y in [2, 4, 6]:
my_list4.append([x*y])
print('My list4', my_list4)
输出
我的列表 3 [[40, 80, 120], [80, 160, 240], [120, 240, 360]]
我的列表4 [[40], [80], [120], [80], [160], [240], [120], [240], [360]]
慕标琳琳
相关分类