簡體   English   中英

打印列表,以及其他列表中的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM