对象是由一个网站爬虫创建的。在本例中,存储标题和图像文件路径。输出如下:
for article in fetcher.fetch():
print(article.title + " | " + article.image)
Polarised modular conglomeration | ./img/1.jpg
Cross-group contextually-based middleware | ./img/2.jpg
De-engineered encompassing structure | ./img/3.jpg
Fully-configurable multi-tasking interface | ./img/4.jpg
Versatile eco-centric core | ./img/5.jpg
Optional maximized utilisation | ./img/6.jpg
Open-architected secondary product | ./img/7.jpg
目标是将标题存储为关键字,将image路径存储为字典中的值
dict = {}
for dictionary in fetcher.fetch():
dict = {dictionary.title: dictionary.image}
print(dict)
{'Open-architected secondary product': './img/7.jpg'}
问题:字典中只存储最后一项。我的代码出了什么问题?
谢谢
使用现有循环(尽管@N Chauhan对字典有很好的理解(:
for dictionary in fetcher.fetch():
dict[dictionary.title] = dictionary.image
您的问题是因为每次迭代都要覆盖dict
。使用字典理解:
article_info = {article.title: article.image
for article in fetcher.fetch()}
附带说明:始终避免使用内置名称作为变量,就像使用dict
作为变量名称一样。只需选择一个更具描述性的名称-这将最终从两个方面受益:
- 默认的
dict
类没有阴影 - 如果你给变量起一个好名字而不是一个模糊的名字,你就会更好地了解变量是什么
您可以分配给一个单独的字典条目以添加:var[key]=值