【问题标题】:Python - How to merge a list in a list to a single list? [duplicate]Python - 如何将列表中的列表合并为单个列表? [复制]
【发布时间】:2016-10-16 04:15:42
【问题描述】:

我目前有一个这样的列表:

[3, 4, ['x', 'y', 'z'], 5]

并且想去

[3, 4, 'x', 'y', 'z', 5]

这方面的新手,尝试四处寻找,但找不到任何我能理解的东西。

【问题讨论】:

  • 只需谷歌flatten list of lists in python。绝对是重复的。
  • 为什么您尝试解决它没有成功?也许我们可以提供帮助。

标签: python arrays list python-3.x data-structures


【解决方案1】:
l=[3, 4, ['x', 'y', 'z'], 5]
nl=[]
for x in l:
    if not isinstance(x,int):
        for y in x:
            nl.append(y)
    else:
        nl.append(x)

print(nl)

一个班轮

l=[3, 4, ['x', 'y', 'z'], 5]
nl=[];[nl.extend([x] if isinstance(x,int) else x) for x in l]

这不是列表的扁平化列表,因为给定的列表是列表和 int 的组合

【讨论】:

  • isinstance "...推荐用于测试对象的类型..."
  • 您的“单行”是不使用列表推导的示例。不要将命令式技术(改变数据结构:即list.exend)与函数式结构(即列表推导式)混合使用。此外,通常认为每行使用多个语句,用分号分隔,就像这样是不合时宜的。可读性很重要。
猜你喜欢
  • 2012-07-19
  • 2014-03-08
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
  • 1970-01-01
  • 2019-09-24
相关资源
最近更新 更多