[英]Difficulty understanding changes to dictionary
我正在浏览旧帖子,以便找到一种通过迭代项目来更改字典中值的方法。
dictionary = {
1: [
{
"id": "1234",
"cow": "parts/sizes/lakes"
},
{
"id": "5151",
"cow": "minors/parts"
}
]}
def fetchanswers():
for item in dictionary[1]:
yield(item["id"], item["cow"])
for a, b in fetchanswers():
k = {}
k["id"] = a
k["cow"] = b.replace("parts", a)
我的理解是 yield 从字典中的任一对象返回两个项目,for 循环创建一个新字典并附加从fetchanswers()
获得的值,并且parts
被id
替换。
我不明白当字典为空时如何引用k["id"]
。
一种改变字典值的方法
您的值是字符串。 字符串是不可变的,因此您需要使用现有键覆盖字典
你不需要另一本字典
# replace "parts" text value with the value of the id key
for item in list_of_dicts:
item["cow"] = item["cow"].replace("parts", str(item["id"]))
如何引用 k["id"]
当之后有等号时,它不是推荐。 这是一个任务
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.