如何遍历列表并按特定顺序打印密钥

时间:2020-02-04 01:08:10

标签: python python-3.x loops dictionary

我正尝试按照最初在字典中写的顺序打印出我的购物清单的键,这只能帮助我按字母顺序打印键。

这是我当前的代码:

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

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

4 个答案:

答案 0 :(得分:1)

如评论中所述,dictionaries是无序容器,但是最新的python版本会保留插入顺序,因此您可以针对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

答案 1 :(得分:0)

键以任意顺序返回,可能有助于参考此link

答案 2 :(得分:0)

您可以选择使用OrderedDict。

String.Contains()

答案 3 :(得分:0)

对于3.6及更高版本,只需使用grocery_list.keys()即可获取字典中的所有键。它返回dict_keys(['name', 'cost', 'quantity']) 对于旧版本,可以使用OrderedDict。这将保留您字典的顺序。