【问题标题】:flat list as a result of list comprehension作为列表理解的结果的平面列表
【发布时间】: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] - 现在我只有在第二次理解后才拥有它

标签: python list-comprehension


【解决方案1】:

tuple放在最后:

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

【讨论】:

    猜你喜欢
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2022-01-06
    相关资源
    最近更新 更多