Python 如何从迭代中获取输出,并将其存储在字典中

Python 如何从迭代中获取输出,并将其存储在字典中,python,python-3.x,google-api,python-newspaper,Python,Python 3.x,Google Api,Python Newspaper,所以我有这个脚本(运行Python3.5)使用GoogleAPI和Paper。它在谷歌上搜索与睡眠有关的文章。然后使用报纸,我迭代这些URL。我要报纸做的就是返回那篇文章的关键词列表,我通过写article.keywords来调用它 for url in google.search('sleep', num=2, stop=1): article = Article(url) article.download() article.parse() ar

所以我有这个脚本(运行Python3.5)使用GoogleAPI和Paper。它在谷歌上搜索与睡眠有关的文章。然后使用报纸,我迭代这些URL。我要报纸做的就是返回那篇文章的关键词列表,我通过写
article.keywords
来调用它

for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()     
    print(article.keywords)
返回的关键字(对于给定的文章)如下所示:

['education', 'nights', 'start', 'pill', 'supplement', 'research', 'national', 'sleep', 'sleeping', 'trouble', 'using', 'taking']

但是我想创建一个包含所有结果的所有关键字的字典:也就是说,每个被迭代的文章的关键字。我该怎么做?

假设字典键应该是文章url:

keywords = {}
for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()  

    keywords[url] = article.keywords

print(keywords)
或者,如果您想拥有所有文章中所有关键字的列表:

keywords = []
for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()  

    keywords += article.keywords

print(keywords)

假设字典键应为文章url:

keywords = {}
for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()  

    keywords[url] = article.keywords

print(keywords)
或者,如果您想拥有所有文章中所有关键字的列表:

keywords = []
for url in google.search('sleep', num=2, stop=1):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()  

    keywords += article.keywords

print(keywords)

防止多次插入关键字(与另一个答案几乎相同)


或者更好的方法是,使用
集合
而不是
列表

来防止多次插入关键字(与另一个答案几乎相同)


或者更好的方法是使用
集合
而不是
列表

集合比列表有什么好处?使用集合,您不必检查元素是否已经存在。可以对同一元素多次调用
add()
方法。缺点是元素的顺序是随机的(即不按照元素添加的顺序),不像列表。集合比列表有什么好处?使用集合,您不必检查元素是否已经存在。可以对同一元素多次调用
add()
方法。缺点是元素的顺序将是随机的(即,与添加元素的顺序不同),这与列表不同。