多字典迭代python

2024-09-30 14:22:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典,格式是

[
{'green': 'banana', 'yellow' : 'apple', 'red' : 'cake', 'blue': 
  [ 'id:xyz:abc:def::12128:htm/example/example2/example | number: 289038 | time: 200 hours'],
'computer': 'lorem ispsum', 'COF': 19},


{'green': 'banana', 'purple' : 'plum', 'gray' : 'screen', 'white': 
  [ 'id:xya:abo:dee::121548:htm/examplez/example26/examplelp | number: 289034 | time: 900 hours'],
'box': 'lorem ispsums', 'COF': 91},


{'green': 'monkey', 'orange' : 'oranges', 'clear' : 'candy', 'chevy': 
  [ 'id:pyz:kbc:qef::12178:htm/example8/example19/exampley | number: 289738 | time: 3 hours'],
'play': 'lorems ispsum', 'COF': 119},

我试图遍历整个字典,如果一个键和值匹配,就打印字典的其余部分,但是我得到了

"List indicies must be integers, not str"

当我使用

(item for item in d if item["green"] == "banana").next()

Tags: idnumber字典timeexample格式greenitem
1条回答
网友
1楼 · 发布于 2024-09-30 14:22:12
generator_item = (item for item in d if isinstance(d, dict) and item["green"] == "banana")
generator_item.next()

在生成生成器后,只调用.next(),而不将其保存为特定值,不会产生任何有用的效果

相关问题 更多 >