[英]Print list, with values from another list
很抱歉,如果措辞不好用。 我想做的是:
我有一个清单。
standardpizzalist = ["1. Supreme", "2. Godfather", "3. Meatlovers", "4. Capricosa", "5. BBQ Chicken", "6. Prawn Delight", "7. Basil and Pork",]
客户已显示此列表,然后他们输入所需的选择,例如。 1、3、5将代表Supreme,Meatlovers和BBQ Chicken。 这些值也保存在列表中:
orderedpizzas = [1, 3, 5]
我需要将有序比萨饼列表显示在屏幕上,但是我需要打印它来读取其他列表中的值,而不是打印1、3和5。 例如。 1.至尊,3.肉类爱好者,5.烧烤鸡。
您的意思是这样的吗:
>>> for pizza in orderedpizzas: print standardpizzalist[pizza-1]
1. Supreme
3. Meatlovers
5. BBQ Chicken
我认为最好改用字典 :
>>> pizza_dict
{1: 'Supreme', 2: 'Godfather', 3: 'Meatlovers', 4: 'Capricosa', 5: 'BBQ Chicken', 6: 'Prawn Delight', 7: 'Basil and Pork'}
>>> pizza_dict[1]
'Supreme'
>>> pizza_dict[3]
'Meatlovers'
>>> pizza_dict[5]
'BBQ Chicken'
然后,我们可以使用列表推导来获取名称:
>>> ordered_pizzas = [1,3,5]
>>> names = [pizza_dict[num] for num in ordered_pizzas]
>>> names
['Supreme', 'Meatlovers', 'BBQ Chicken']
print ', '.join(standardpizzalist[x-1] for x in orderedpizzas)
将给您逗号分隔的订购披萨列表。
使用有序词典。
from collections import OrderedDict
pizzas = OrderedDict()
pizzas[1] = 'Supreme'
pizzas[2] = 'Godfather'
...etc...
因此,当您遍历项目时,将保留顺序(与常规字典不同):
for index, pizza in pizzas.items():
print pizza # First prints 'Supreme', then 'Godfather', etc...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.