簡體   English   中英

如何遍歷列表並按特定順序打印密鑰

[英]How to iterate through a list and print the key's in a specific order

我正在嘗試按照最初在字典中寫入的順序打印我的購物清單的鍵,這只能幫助我按字母順序打印鍵。

這是我目前的代碼:

grocery_list = {
    "name": "milk",
    "cost": "2.99",
    "quantity": "2",
}

for i in sorted(grocery_list.keys()):
    print(grocery_list[i])

正如評論中所述, dictionaries是無序的容器,但最近的python版本保持插入順序,所以你可以只對python3.6+執行此python3.6+

grocery_list = {
    'name': 'milk',
    'cost':'2.99',
    'quantity':'2'
}

for key, value in grocery_list.items():
   print(key, value, sep=': ')

>>> name: milk
>>> cost: 2.99
>>> quantity: 2

如果您運行較舊的python版本,則必須以某種方式指定順序,在這種情況下是手動的:

ordered_keys = ['name', 'cost', 'quantity']

for key in ordered_keys:
    print(key, grocery_list[key], sep=': ')

>>> name: milk
>>> cost: 2.99
>>> quantity: 2

鍵以任意順序返回,參考此鏈接可能會有所幫助。

您可以選擇使用 OrderedDict。

from collections import OrderedDict

d1 = OrderedDict({
    'name': 'milk',
    'cost': '2.99',
    'quantity': '2'
})
print(d1.keys())

對於 3.6+ 版本,只需使用grocery_list.keys()即可獲取字典的所有鍵。 它返回dict_keys(['name', 'cost', 'quantity'])對於舊版本,您可以使用OrderedDict 這將保留字典的順序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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