作为列表理解的结果的平面列表

时间:2015-12-03 03:20:16

标签: python list-comprehension

我以这样的方式使用列表理解:对于每个元素,我有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

1 个答案:

答案 0 :(得分:3)

tuple放在最后:

res_list_1 = [item for object in my_list for item in (object*2, object*3)]