python - (Python 3.5.2) 如何找到我的输入是列表中的哪一项?

标签 python python-3.x

如何在不使用“if”语句的情况下找到输入在列表中的哪个位置? 我当前的代码如下。我想删除 if 语句,以便在输入品种时,计算机输出“Great choice!”然后以尽可能紧凑的代码单独输出价格。我需要一些东西来找到输入是列表中的哪个值,然后打印另一个列表中的相应位置。

dog_breed_list = ["daschund", "chihuahua", "French boxer", "Jack Russell", 
"poodle"]

dog_price_list = [350, 640, 530, 400, 370]

dog_choice = input("Welcome to the Pet Shop. \nWhich is your breed choice?")

if dog_choice == dog_breed_list[0]:
    print("Great choice! This breed costs £350.")
elif dog_choice == dog_breed_list[1]:
    print("Great choice! This breed costs £640.")
elif dog_choice == dog_breed_list[2]: 
    print("Great choice! This breed costs £530.")
elif dog_choice == dog_breed_list[3]:
    print("Great choice! This breed costs £400.")

最佳答案

使用字典:

dog_breed_list = ["daschund", "chihuahua", "French boxer",
                  "Jack Russell", "poodle"]

dog_price_list = [350, 640, 530, 400, 370]

dictionary = {dog_breed_list[n]: dog_price_list[n]
              for n in range(len(dog_breed_list))}

dog_choice = input("Welcome to the Pet Shop. \nWhich is your breed choice? ")

if dog_choice in dictionary:
    print("Great choice! This breed costs £"+str(dictionary[dog_choice])+".")

关于python - (Python 3.5.2) 如何找到我的输入是列表中的哪一项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46225855/

相关文章:

python - 在 python 3.x 中分割逗号分隔值并存储在单独的行中?

python - 在 Python 中执行正则表达式操作时如何保留行和列排列

python - 计算矩阵中邻居数量的最佳方法?

python - 安装 python shapely 时出现 Alpine 错误

Python 内存错误 : cannot allocate array memory

python - 为什么 PIP 不升级包

python - 我可以按内存位置对 python 中的列表元素进行排序(排序)吗?

python - 计算一列在 Pandas 中包含特定值的次数

python - 比较两个不同大小的一维数组中的元素,具有公差

Python-Firebase多次打印