在以下字典中:
dic = {'x':[1, 2, 3], 'y':[11, 12 , 13]}
当与键2
对应的列表元素为'x'
时,我想从与键'y'
对应的列表中检索值12
。 / p>
答案 0 :(得分:2)
一种灵活的解决方案是根据dic
中的值创建一个查找字典:
>>> dic = {'x':[1, 2, 3], 'y':[11, 12 , 13]}
>>> lookup = dict(zip(dic['y'], dic['x']))
>>> lookup
{11: 1, 12: 2, 13: 3}
>>> lookup[12]
2
答案 1 :(得分:1)
如果您想要基于给定x
的位置的y
,我建议使用zip()
:
def find_x(dic, target_y):
pairs = zip(dic['x'], dic['y'])
for x, y in pairs:
if y == target_y:
return x
实际上,如果您经常做这种事情。最好将x和y值存储为成对的列表(或字典或类对象),而不是将字典分别存储在x和y列表中。