如何在列表中创建一个项目==到另一个列表中的项目?

时间:2016-11-04 12:45:24

标签: python list

例如,我试图让用户输入类似" 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()

2 个答案:

答案 0 :(得分:5)

您可以使用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')

如果在字典中找不到该项而不是引发KeyError,则返回“Unknown”。

答案 1 :(得分:0)

查看列表中的index()方法,您不应该遍历所有元素。