删除列表中的列表 python

Remove list inside a list python

我正在使用 NLTK 库。我有一个名为 chunks 的列表,我想在该列表中添加单词,所以我正在做:

def np_chunk(tree):
  chunks = []
  for rama in tree:
      if rama.label() == "NP":
         chunks.append(rama.leaves())
  print(chunks)

但这就是我得到的: [['himself']] 这是列表中的列表。我怎样才能合并它们并使它只有一个列表?我想阻止 rama.leaves() 返回列表,o 直接从 chunks 中删除内部列表 有什么想法吗?

您可以使用list.extendrama.leaves()返回的所有元素添加到chunks:

def np_chunk(tree):
  chunks = []
  for rama in tree:
      if rama.label() == "NP":
         chunks.extend(rama.leaves())
  print(chunks)

也可以使用list加法:

chunks += rama.leaves()