【问题标题】:How can I get the keys in a dictionary in the order that they appear in the dictionary? [duplicate]如何按照它们在字典中出现的顺序获取字典中的键? [复制]
【发布时间】:2017-06-30 14:09:08
【问题描述】:

例如,假设我有这本字典:

Dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

我想得到一个这样的列表:['Name', 'Age', 'Class'] 而不是其他顺序

【问题讨论】:

  • ['Name', 'Age', 'Class']
  • Dict.keys() 有什么问题?
  • 这只是一个例子。关键是在我正在处理的问题中,我不知道任何键的名称
  • 而不是Dict,如果你使用collections.OrderedDict,它总是可以给出相同的顺序。
  • 字典不是有序的数据结构。如果订单对您很重要,请改用collections.OrderedDict

标签: python


【解决方案1】:

试试这个来源:Key Order in Python Dictionaries

OrderedDict([('a', 1), ('b', 2), ('c', 3)])

遗憾的是,OrderedDict({'a': 1, 'b':2, 'c':3}) 将不起作用,因为 {} 已经忘记了元素的顺序。

您的代码将是:

Dict = OrderedDict([('Name', 'Zara'), ('Age', 7), ('Class', 'First)])

【讨论】:

    【解决方案2】:

    字典本质上是无序的;键的顺序未定义。无法恢复您写下它们的顺序。

    如果您需要字典的有序版本,请查看集合中的OrderedDict

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多