如何通过用户输入值来查找Key

时间:2017-03-02 19:28:34

标签: python

我正在尝试编写一个函数,当用户输入其中一个值时,会打印字典的键。

我的字典是:

student = {c0952: [18, 'John', 'Smith'],
           c0968: [24, 'Sarah', 'Kelly']
           }

例如,如果用户输入' John'然后将打印学生编号c0952。

谢谢!

1 个答案:

答案 0 :(得分:1)

也许是这样的:

student = { 'c0952': [18, 'John', 'Smith'],
            'c0968': [24, 'Sarah', 'Kelly']
          }

name_value = raw_input("value? ")

for stu_num, names in student.iteritems():
    for name in names:
        if name == name_value:
            print stu_num

或者,akg mentioned,使用list comprehension

的单行
print [x for x in student.keys() if name_value in student[x]][0]

演示:

  

值?约翰
  c0952

使用Get key by value in dictionary的大部分答案。