给一个键中的元素并在字典的不同键上获取对应的元素

Give a element in a key and get the correspond element on a different key of the dictionary

在字典中,我想给一个键中的元素并在字典的不同键上获取对应的元素。

示例:如果我给 字母 b 我想得到 2。如果我给字母f,我想得到1

d = {'letter': {'a','b','c','d','e','f'}, 'number': {5,2,4,9,3,1}}

假设我想要字母 b 和 f

listing = ['b','f']
position= d['letter'].index(listing)

goal = d['number'][position]

print(goal)

它显示错误 'set' 对象没有属性 'index' 或者当我尝试不同的东西时 'set' 对象不可订阅

不要使用 index,因为它会尝试检查 listing 是否在其中,而不是每个元素。您可以使用列表理解来解决它:

d = {'letter': ['a','b','c','d','e','f'], 'number': [5,2,4,9,3,1]}
listing = ['b','f']
position= [d['letter'].index(x) for x in listing]
print(position)
>>> [1, 5]

你走在正确的轨道上,除了 listing 是一个 list,所以它本身不对应于 d['letter'] 中的值 - 因此报告错误.您可以遍历列表并使用您编写的相同代码:

listing = ['b', 'f']
for key in listing:
   position = d['letter'].index(key)
   goal = d['number'][position]
   print(goal)