我有一个 n 元组的字典。我想从此元组中检索包含特定键值对的字典。
我试图尽可能优雅地做到这一点,我认为列表理解是要走的路——但这不是基本的列表理解,我有点迷茫。
这显示了我正在尝试做的事情的想法,但它当然不起作用:
# 'data' is my n-tuple
# 'myKey' is the key I want
# 'myValue is the value I want
result = [data[x] for dictionary in data if (data[x][myKey]) == myValue)][0]
# which gives this error:
NameError: global name 'x' is not defined
之前,我尝试过这样的事情(错误是有道理的,我理解):
result = [data[x] for x in data if (data[x][myKey] == myValue)][0]
# which gives this error:
TypeError: tuple indices must be integers, not dict
现在是使用嵌套推导的时候吗?那会是什么样子,在这一点上用循环和条件写出来会更简单吗?
另外,附带的问题 - 除了在末尾拍打 [0] 之外,是否有更 Pythonic 的方式来获取列表中的第一个(或唯一的)元素?