我目前正在使用PRAW从reddit页面提取评论。我想将评论体中的某些单词与csv文件中的值相匹配。以下是我目前正在处理的内容:
submission.comments.replace_more(limit=None)
for comment in submission.comments.list():
results = (re.findall(r'[A-Z]{3,5}',comment.body))
print(results)
输出:
[]
['HCMC']
[]
[]
['ASRT']
[]
[]
['CBBT', 'TLSS']
['LLEX']
[]
我理解comment.body
实际上只是存储在一个对象中的列表集合。有没有一种方法可以将这些列表连接成一个列表?
您可以使用itertools.chain.from_iterables
:
>>> from itertools import chain
>>> list(chain.from_iterable(re.findall(r'[A-Z]{3,5}',comment.body)
for comment in submission.comments.list()))
['HCMC', 'ASRT', 'CBBT', 'TLSS', 'LLEX']
或者只是遍历results
并将其项重写为新列表,如下所示:
concatenated = []
for lst in results:
for item in lst:
concatenated.append(item)
本文中的许多其他方法:https://www.pythonpool.com/flatten-list-python/