打印名单,包含来自另一个列表的值

2024-06-09 19:36:49 发布

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

对不起,如果这个问题用词很尴尬。我要做的是:

我有一张单子。你知道吗

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]

我需要列表orderedpizzas显示在屏幕上,但是我需要它从另一个列表中读取值,而不是打印1、3和5。 例1。最高,3。肉食爱好者,5。烤鸡。你知道吗


Tags: and列表单子basilchickenbbqgodfather用词
1条回答
网友
1楼 · 发布于 2024-06-09 19:36:49

我认为你最好用dictionary来代替:

>>> 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'

然后我们可以使用list comprehension来获取名称:

>>> ordered_pizzas = [1,3,5]
>>> names = [pizza_dict[num] for num in ordered_pizzas]
>>> names
['Supreme', 'Meatlovers', 'BBQ Chicken']
网友
2楼 · 发布于 2024-06-09 19:36:49
print ', '.join(standardpizzalist[x-1] for x in orderedpizzas)

我会给你一份以逗号分隔的比萨饼订购单。你知道吗

网友
3楼 · 发布于 2024-06-09 19:36:49

你的意思是这样的:

>>> for pizza in orderedpizzas: print standardpizzalist[pizza-1]

1. Supreme
3. Meatlovers
5. BBQ Chicken

相关问题 更多 >