在字典中搜索值

时间:2017-03-15 16:05:52

标签: python python-3.x

phone_numbers = {"abbie": "(860) 123-4535", "beverly": "(901) 454-3241",
                 "james": "(212) 567-8149", "thomas": "(795) 342-9145"}

编写一个功能,查找给出姓名的电话号码。这是我的一个跑步的打印输出:

problem3_5("james")
(212) 567-8149

现在我写了for循环,当我把“james”放进去时,它打印出整个值,所以我这样做了:

def problem3_5(name):
    for x in phone_numbers["james"]:         
        print(x, end="")

但是他们说平地机生产的线太少了。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

在字典中搜索值非常简单。您只需要使用正确的密钥进行索引。这不像列表或元组,程序可能必须搜索所有数据以进行匹配。请参阅以下程序。它演示了如何在字典中查找内容,并希望能让您朝着正确的方向前进。

#! /usr/bin/env python3
def main():
    phone_numbers = dict(
        abbie='(860) 123-4535',
        beverly='(901) 454-3241',
        james='(212) 567-8149',
        thomas='(795) 342-9145'
    )
    name = input('Whose number do you want? ')
    number = phone_numbers[name.lower()]
    answer = 'The number of {} is {}.'.format(name.capitalize(), number)
    print(answer)


if __name__ == '__main__':
    main()