如何使用两个列表推导展平嵌套的字符串列表

Posted

技术标签:

【中文标题】如何使用两个列表推导展平嵌套的字符串列表【英文标题】:How flatten a nested list of strings using two list compehension 【发布时间】:2021-08-19 04:47:57 【问题描述】:

我有下一个带有字符串的列表和一个嵌套列表。而且我想使用两个列表推导来扁平化它:

我正在尝试使用两个嵌套列表理解:

tweet_list=['!iniciamos', 'la',    ['mi', 'banco', 'banco', 'señal'],  'con', 'nuestro', 'invitado', 'especial']
flat=[]
flated_list= [[flat.append(sub_elem) for sub_elem in elem] if isinstance(elem,list) else flat.append(elem) for elem in tweet_list]

我得到了两个无嵌套列表。我该如何解决?

【问题讨论】:

【参考方案1】:
out = [vv for v in tweet_list for vv in ([v] if isinstance(v, str) else v)]
print(out)

打印:

['!iniciamos', 'la', 'mi', 'banco', 'banco', 'señal', 'con', 'nuestro', 'invitado', 'especial']

【讨论】:

以上是关于如何使用两个列表推导展平嵌套的字符串列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用嵌套字典列表展平熊猫数据框中的列

在python中展平嵌套字符串列表

一日一技:如何把多层嵌套的列表展平

在Python中展平一个浅表[重复]

如何使用映射或过滤器而不是列表推导过滤特定值的嵌套字典(pythonic 方式)?

是否有展平嵌套元素列表的功能?