让:
M = [{'name': 'john', 'result': 12},
{'name': 'sara', 'result': 20},
{'name': 'karl', 'result': 11}]
如果我想找到Sara的结果,我想到了:
M[[m['name'] for m in M].index('sara')]['result'] # hard to read, but works
和
[m['result'] for m in M if m['name'] == 'sara'][0] # better
在Python中有更自然的方法吗?
答案 0 :(得分:3)
使用<a href='javascript:void(0)' id='".$rows['id']."' class='apply'>click me</a>
生成器。
next()
答案 1 :(得分:3)
如果要执行多次查找,线性搜索并不是最佳选择。
使用正确的密钥(名称)重建字典一次:
M = [{'name': 'john', 'result': 12},
{'name': 'sara', 'result': 20},
{'name': 'karl', 'result': 11}]
newdict = {d["name"] : d["result"] for d in M}
它创建:
{'john': 12, 'karl': 11, 'sara': 20}
现在当您需要名称的结果时,只需执行:
print(newdict.get('sara'))