Skip to main content
 首页 » 编程设计

python之如何从两个单独的列表中获取两个值进行打印(python)

2025年05月04日1052php

这是我的问题,我有两个不同的列表,列表 a其中包含人名和列表 b其中包含他们的电话号码:

a = ["peter", "bob", "john", "jack"] 
b = ["8954 3434", "8999 4432", "8976 5443", "8990 3331"] 

我需要做的是提示用户输入一个来自列表 a 的名称然后python应该自动从列表b中打印出那个人的电话号码。 .

我遇到了一个看起来很有趣的代码:

for x, y in zip(a, b): 
    print x, y 

这几乎打印了每个名字及其旁边相应的电话号码,这基本上是我所需要的,但是我需要的不是列表中出现的每个名字,而是让用户能够输入一个名字并显示该名称的电话号码。

澄清一下,使用上面的代码给出了输出:

peter 8954 3434 
bob 8999 4432 
john 8976 5443 
jack 8990 3331 

虽然我想要的是让用户能够输入一个名字,例如应该给出输出的“peter”:

peter 8954 3434 

有没有办法编辑上面的代码来让事情正常工作?感谢您的帮助。

请您参考如下方法:

将你的数据放入字典中:

>>> a = ["peter", "bob", "john", "jack"] 
>>> b = ["8954 3434", "8999 4432", "8976 5443", "8990 3331"] 
>>> phone_numbers = dict(zip(a,b)) 

然后你可以从他们的名字中得到他的电话号码:

>>> phone_numbers['john'] 
'8976 5443' 

如果你只想使用列表来做到这一点,你可以使用 index 但请注意,这会降低性能:

b[a.index('john')] 
'8976 5443'