![](/img/trans.png)
[英]How to iterate through a list of tuples and checking each list for a specific order
[英]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.