【发布时间】:2015-12-03 03:20:15
【问题描述】:
我使用列表推导的方式是,对于每个元素我都有 2 个结果值:
my_list = [10,20,30]
res_list = [ (x*2, x*3) for x in my_list ]
res_list # [(20, 30), (40, 60), (60, 90)]
但我需要一个扁平化列表,所以我必须执行另一个理解:
res_list_1 = [yy for xx in res_list for yy in xx]
res_list_1 # [20, 30, 40, 60, 60, 90]
有什么办法可以避免这种情况并直接在第一次理解时得到平坦的res_list?
【问题讨论】:
-
你能提供你预期的输出吗?
-
预期输出将是
[20, 30, 40, 60, 60, 90]- 现在我只有在第二次理解后才拥有它