python搜索字典值和prin

2024-06-16 11:09:51 发布

您现在位置:Python中文网/ 问答频道 /正文

dictionary = {'Name':['Sam','Rafael','Albert','Prapul','Zorg','Peter','Sandy','Kristena','Noah','William','Alexander'],
              'Number':[9842657266,2548759249,5859715540,9874515875,8974511147,9874447574,5987415877,8898874714,9985852124,
                        8015005998,9633215749],
              'Email':['sam@gmail.com','raf@outlook.com','albert12@gmail.com','prapul@yahoo.com','zorg124@hotmail.com',
                       'pete345@yahoo.com','sandy007@outlook.com','kristena789@hotmail.com','noah123do@gmail.com',
                       'william12sam@gmail.com','alex65tgp@hotmail.com']}


 search = input('Please enter the name you would like to search:')
        if search in dictionary.keys():
            #print user details
        else:
            print ('User Not Found')

我需要搜索字典中的特定用户,并打印用户名电话号码和电子邮件地址


Tags: namecomsearchdictionarysamyahoogmailpeter
3条回答

您可以在字典中搜索特定用户,并按以下方式打印用户名电话号码和电子邮件地址:

dictionary = {'Name': ['Sam','Rafael','Albert','Prapul','Zorg','Peter','Sandy','Kristena','Noah','William','Alexander'],
              'Number':[9842657266,2548759249,5859715540,9874515875,8974511147,9874447574,5987415877,8898874714,9985852124,
                    8015005998,9633215749],
              'Email':['sam@gmail.com','raf@outlook.com','albert12@gmail.com','prapul@yahoo.com','zorg124@hotmail.com',
                   'pete345@yahoo.com','sandy007@outlook.com','kristena789@hotmail.com','noah123do@gmail.com',
                   'william12sam@gmail.com','alex65tgp@hotmail.com']}

search = input('Please enter the name you would like to search:\n')
index = -1
for i in range(len(dictionary['Name'])):
    if dictionary['Name'][i] == search:
        index = i

if index >= 0:
    print('Phone number:', dictionary['Number'][index])
    print('Email:', dictionary['Email'][index])
else:
    print('User Not Found')

结果

>>> Please enter the name you would like to search:
>>> Albert
>>> Phone number: 5859715540
>>> Email: albert12@gmail.com

函数如下:

代码:

def find_name(name_to_find):
    return next((x for x in zip(*(
        dictionary[key] for key in ('Name', 'Number', 'Email')))
                 if x[0] == name_to_find), None)

我会的。你知道吗

测试代码:

dictionary = {'Name':['Sam','Rafael','Albert','Prapul','Zorg','Peter','Sandy','Kristena','Noah','William','Alexander'],
              'Number':[9842657266,2548759249,5859715540,9874515875,8974511147,9874447574,5987415877,8898874714,9985852124,
                        8015005998,9633215749],
              'Email':['sam@gmail.com','raf@outlook.com','albert12@gmail.com','prapul@yahoo.com','zorg124@hotmail.com',
                       'pete345@yahoo.com','sandy007@outlook.com','kristena789@hotmail.com','noah123do@gmail.com',
                       'william12sam@gmail.com','alex65tgp@hotmail.com']}

print(find_name('Zorg'))
print(find_name('Junk'))

结果:

('Zorg', 8974511147, 'zorg124@hotmail.com')
None

你的问题已经解决了 ,但我有另一个逻辑:

dictionary = {'Sam':[9842657266,'sam@gmail.com'],'alex':[2548759249,'william12sam@gmail.com']}

search = input('Please enter the name you would like to search : ')

if search in dictionary.keys():
    #here your condition
    print('Phone Number :-> ' , dictionary[search][0] ) #index 0 is Phone number
    print('Email :-> ' , dictionary[search][1]) #index 1 is email
else :
    print('User Not Found')

相关问题 更多 >