gpt4 book ai didi

for循环列表中的python dict

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:39 25 4
gpt4 key购买 nike

我不明白为什么这两个语句不相等。

for item in tree.findAll('item'):
names = [{
'id': item.id.string,
'title': __decodefunction(item.entitle.string)
}]

它有 1 个项目但如果这些声明

names = [{
'id': item.id.string,
'title': __decodefunction(item.entitle.string)
}for item in tree.findAll('item')]

它有 6 个项目。

我想使用第一个循环,但它没有显示正确的项目数。正确的输出是 6 项。

最佳答案

他们做的事情非常不同。

第一个在循环的每次迭代中定义一个新的 names 值,替换任何以前的值。每次您创建一个包含一个字典的新列表时。

第二个是列表理解,它构建一个由 0 个或多个字典组成的列表,每个字典对应于 tree.findAll() 返回的每个元素。

要使第一个等同于第二个,您需要先将 names 定义为空列表,然后在循环中附加到它:

names = []
for item in tree.findAll('item'):
names.append({
'id': item.id.string,
'title': __decodefunction(item.entitle.string)
})

关于for循环列表中的python dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com