假设我有一个这样的词典:
phone_numbers = {'Ted': '555-222-1234', 'Sally': '555-867-5309'}
我想要返回键和传递给它的值的函数,例如:
>>> phonebook(phone_number['Ted'])
Ted's phone number is: 555-222-1234
在伪代码中,函数将是:
def phonebook(number):
print("{}'s phone number is: {}".format(
number.key(), # Not a real dictionary method!
number.value()) # Also not a real dictionary method!
有没有办法在没有大量后端重写类型和类的情况下执行此操作?
答案 0 :(得分:4)
您需要传递要查找的字典和名称:
>>> phone_numbers = {'Ted': '555-222-1234', 'Sally': '555-867-5309'}
>>> def phonebook(dct, name):
... print("{}'s phone number is: {}".format(name, dct[name]))
...
>>> phonebook(phone_numbers, 'Ted')
Ted's phone number is: 555-222-1234
>>>
执行phone_number['Ted']
只会返回与字典中的密钥'Ted'
关联的字符串电话号码。意思是,没有办法将这个字符串追溯到它来自的字典。
答案 1 :(得分:-1)
这是你的答案:
def phonebook(phonenumber):
for name, number in phone_numbers.items():
if(number = phonenumber):
print("{}'s phone number is: {}".format(name, number)
return