【问题标题】:Remove Square Bracket and Breakdown List elements [duplicate]删除方括号和细分列表元素 [重复]
【发布时间】:2026-01-30 19:20:03
【问题描述】:

这是我的清单。

[['john'],
 ['tom','peter'],
 ['sam'],
 ['mary','susan','dan'],
   :
 ['tony']]

我想删除所有方括号并分解如下所示的列表。

['john',
 'tom',
 'peter',
 'sam',
 'mary',
 'susan',
 'dan',
   :
 'tony']

我尝试使用new_lst = ','.join(str(v) for v in lst)(','.join(lst)),但它们不起作用。而且我也想不出一种方法来分解这些列表元素。如果你们都对如何做到这一点有一些想法和方法,那就太好了。

谢谢!

【问题讨论】:

  • 那个冒号到底是什么?这不是有效的 Python 语法。是这段代码,还是包含该内容的文本文件?还是您只是使用 : 来标记省略号?
  • 快捷方式是out = list(x for y in lst for x in y)。棘手的方法是out = sum(lst,[])
  • @joanis 已修复,我还以为是错字
  • 好的,感谢您的澄清。回想起来,我应该猜到的。 :)
  • okie,回滚更改

标签: python list


【解决方案1】:

两个好方法:

out = list(x for y in lst for x in y)
...or...
out = sum(lst,[])

【讨论】:

  • 完美运行。非常感谢!!!
【解决方案2】:

这是一个快速的方法:

my_list = [['john'],
 ['tom','peter'],
 ['sam'],
 ['mary','susan','dan'],
 ['tony']]

# flatten the list
my_list = [item for sublist in my_list for item in sublist]
print(my_list)

【讨论】:

  • 有效!非常感谢!
最近更新 更多