这是我的问题,我有两个不同的列表,列表 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'
关于python - 如何从两个单独的列表中获取两个值进行打印(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230969/