【问题标题】:Remove the outer list of a double list [duplicate]删除双重列表的外部列表[重复]
【发布时间】:2018-02-09 17:01:20
【问题描述】:

假设我有一个包含以下内容的列表:

[['a','b','c','d']]

是否有一种简单的方法可以删除外部列表,以便输出为

['a','b','c','d']

我想出了类似 pop 的东西,但它删除了元素,我只想删除外部列表。

我知道我可以遍历双重列表并将元素附加到一个新列表中,问题就会得到解决,但我对那个解决方案不满意,我想要一个更流畅、代码更简洁的解决方案。

【问题讨论】:

  • "我想出了类似 pop 的东西,但它删除了元素,我只想删除外部列表。"会有什么区别?
  • 虽然它在大多数情况下可能没有用,但有一种方法可以直接重写现有的 list 而无需嵌套,而不是提取它,因此其他对list 也被修改。 mylist[:] = mylist[0] 会将mylist 的内容替换为嵌套列表的内容,而不会更改mylist 的标识。

标签: python list


【解决方案1】:

你可以使用解包:

[new_list] = [['a','b','c','d']]
print(new_list)

输出:

['a','b','c','d']

【讨论】:

  • 如果列表中有多个项目会怎样?
  • @Rajez 这取决于 OP 试图实现的目标。 itertools 适用于嵌套列表;但是,如果 OP 只有一个列表,这是“最干净”的解决方案之一。
  • @Ajax1234 嗯,是的,单个列表很整洁..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2014-07-14
  • 2015-01-06
  • 1970-01-01
  • 2020-11-02
相关资源
最近更新 更多