在python中定义一个函数来交叉引用两个字典中的变量

在python中定义一个函数来交叉引用两个字典中的变量,python,Python,我试图定义一个函数,允许我指定一个键来交叉引用两个独立的库。也就是说,我想指定水果名称和返回成本的函数 我在这里看过一些类似的代码,并复制了它,但我一直得到一个空白的回报。不知道我在哪里出错 list1 = {"a": "apple", "b" : "banana", "c" : "coconut"} list2= {"a": 15, "b": 10, "c":5} def find_fruit_price(fruit, list1, list2): for x in list1:

我试图定义一个函数,允许我指定一个键来交叉引用两个独立的库。也就是说,我想指定水果名称和返回成本的函数

我在这里看过一些类似的代码,并复制了它,但我一直得到一个空白的回报。不知道我在哪里出错

list1 = {"a": "apple", "b" : "banana", "c" : "coconut"}
list2= {"a": 15, "b": 10, "c":5}

def find_fruit_price(fruit, list1, list2):

    for x in list1:
        if fruit in x:
            return list2[x]

    return

find_fruit_price(banana, list1, list2)   # returns a blank output
我期待着“10”

  • banana
    是一个未定义的变量。请改用“香蕉”
  • 如果x中的水果
    计算为
    如果“b”中的“香蕉”
    ,对于每个条目都将是
    False
您需要更改数据逻辑,以便访问和比较可能实际匹配的项。比如说

if fruit == list1[x]:

“banana”
在第一个字典中是一个值,而不是一个键,因此
如果x中的fruit
为false。
x
是键,所以你应该做
如果fruit==list1[x]:
而不是
list1
list2
是坏名字,因为它们指的是
dict
,不是
list
s。感谢您的澄清!那么,当我做“if fruit in x”时,它是否只看字典上的第一个变量(即a b c)?与list1[x]相比,它在哪里查找与键x相关联的变量?有关基本Python语句的功能,请参阅适当的教程和其他学习材料。堆栈溢出不是教程站点。