我如何使一个列表中的一个项目==另一个列表中的一个项目



例如,我试图能够让用户输入像"alberta"这样的省份,然后让它显示"AB"给用户。或者反过来。我只能用列表。(老师提到了"平行列表"?)

这是我尝试过的…

def lists (province, abrev):
    userInput = input("Enter Province or Abreviation: ")
    province = ["alberta", "nova scotia", "british columbia"]
    abrev = ["AB", "NS", "BC"]
    for ab in range(len(province)):
        if province["alberta"] == abrev["AB"]:
        print("AB")
    if userInput == province:
        print(len(province))
def main():
    lists()
main()

您可以使用zip()将两个列表连接在一起。

province = ["alberta", "nova scotia", "british columbia"]
abrev = ["AB", "NS", "BC"]
userInput = input("Enter Province or Abreviation: ")
for prov,ab in zip(province,abrev):
    if userInput == prov:
        print(ab)
    elif userInput == ab:
        print(prov)

也可以使用字典。使用这个方法,您有一个键和一个值

province_dict = {'NS': 'nova scotia', 'BC': 'british columbia', 'AB': 'alberta'}

如果你想查找哪个州有缩写'AB'那么你可以做

print(province_dict['AB'])

因为你处理的是用户输入,所以你应该使用

province_dict.get(userInput,'Unknown')

如果在字典中没有找到该条目,将返回'Unknown',而不是引发KeyError。

看看列表上的index()方法,你不应该循环遍历所有元素。

相关内容

  • 没有找到相关文章

最新更新