如何将列表中的一个项目==转换为另一个列表中的项目?

2024-09-24 22:31:24 发布

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

例如,我试图让用户输入一个省,比如“艾伯塔省”,然后让它向用户显示“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()

Tags: 用户列表lenifabmaindeflists
2条回答

看看列表上的index()方法,您不必遍历所有元素。你知道吗

可以使用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。你知道吗

相关问题 更多 >