代码之家  ›  专栏  ›  技术社区  ›  user9431057

用一些具有多个值的列表平展列表-python[重复]

  •  0
  • user9431057  · 技术社区  · 8 年前

    这个问题已经有了答案:

    我经历过这个 post 这有一些很好的答案,但不适合我的情况。

    我有一个这样的列表:

    my_list = [['Hi'],['Hello'],['How', 'are'], ['you']]
    

    我做了压平,我得到了这个,

    my_flat_list = [i[0] for i in my_list]
    my_flat_list
    >>['Hi', 'Hello', 'How', 'you']
    

    如果我不使用 i[0] 我又回到了列表格式。

    我需要的输出是:

    ['Hi', 'Hello', 'How are', 'you']
    

    我也累了这个 post 使用 itertools 仍然没有得到我想要的结果。

    如何获得输出?

    2 回复  |  直到 8 年前
        1
  •  1
  •   Eugene Primako    8 年前

    str.join

    In [1]: [' '.join(sublist) for sublist in my_list]
    Out[1]: ['Hi', 'Hello', 'How are', 'you']
    
        2
  •  2
  •   DYZ    8 年前

    list(map(" ".join, my_list))
    #['Hi', 'Hello', 'How are', 'you']