如何对python字典进行排序?

如何对python字典进行排序?,python,dictionary,Python,Dictionary,假设我有这样的清单 x = ["foo", "foo", "bar", "baz", "foo", "bar"] 我想数一数dict中每一次出现的次数,但我想在循环列表时对它们进行排序。像这样: from collections import defaultdict ordered_dict = defaultdict(lambda: 0, {}) for line in x: ordered_dict[line] += 1 我希望结果是这样的: {"foo":3, "bar":2,

假设我有这样的清单

x = ["foo", "foo", "bar", "baz", "foo", "bar"]
我想数一数dict中每一次出现的次数,但我想在循环列表时对它们进行排序。像这样:

from collections import defaultdict
ordered_dict = defaultdict(lambda: 0, {})
for line in x:
    ordered_dict[line] += 1
我希望结果是这样的:

{"foo":3, "bar":2, "baz":1}

我想知道在我循环时是否有办法使字典保持有序。目前我在循环后使用heapq您需要一个带有“反向”选项的OrderedDict。您使用了defaultdict。这些不是按设计分类的


OrderedDict通常按键插入排序。如果希望字典按值排序,则可能需要使用计数器,然后将这些条目插入OrderedICT。

您需要一个带有“反转”选项的OrderedICT。您使用了defaultdict。这些不是按设计分类的


OrderedDict通常按键插入排序。如果希望字典按值排序,则可能需要使用计数器,然后将这些条目插入OrderedICT。

您需要一个带有“反转”选项的OrderedICT。您使用了defaultdict。这些不是按设计分类的


OrderedDict通常按键插入排序。如果希望字典按值排序,则可能需要使用计数器,然后将这些条目插入OrderedICT。

您需要一个带有“反转”选项的OrderedICT。您使用了defaultdict。这些不是按设计分类的


OrderedDict通常按键插入排序。如果希望字典按值排序,可能需要使用计数器,然后将这些条目插入到OrderedDict中。

基本上,您只是使用了
集合中的错误集合:

>>> from collections import Counter, OrderedDict
>>> OrderedDict(Counter(["foo", "foo", "bar", "baz", "foo", "bar"]).most_common())
OrderedDict([('foo', 3), ('bar', 2), ('baz', 1)])

基本上,您只是使用了
集合
中的错误集合:

>>> from collections import Counter, OrderedDict
>>> OrderedDict(Counter(["foo", "foo", "bar", "baz", "foo", "bar"]).most_common())
OrderedDict([('foo', 3), ('bar', 2), ('baz', 1)])

基本上,您只是使用了
集合
中的错误集合:

>>> from collections import Counter, OrderedDict
>>> OrderedDict(Counter(["foo", "foo", "bar", "baz", "foo", "bar"]).most_common())
OrderedDict([('foo', 3), ('bar', 2), ('baz', 1)])

基本上,您只是使用了
集合
中的错误集合:

>>> from collections import Counter, OrderedDict
>>> OrderedDict(Counter(["foo", "foo", "bar", "baz", "foo", "bar"]).most_common())
OrderedDict([('foo', 3), ('bar', 2), ('baz', 1)])
代码:

输出:

{'bar': 2, 'baz': 1, 'foo': 3}
代码:

输出:

{'bar': 2, 'baz': 1, 'foo': 3}
代码:

输出:

{'bar': 2, 'baz': 1, 'foo': 3}
代码:

输出:

{'bar': 2, 'baz': 1, 'foo': 3}
字典不是按其性质排序的。您有一个名为
ordered\u dict
的东西,但它实际上没有排序(它不是
collections.orderedict
)。请注意,您可以使用
集合计数器
<代码>计数器(x)。最常见的()将派上用场。
字典不是按其性质排序的。您有一个名为
ordered\u dict
的东西,但它实际上没有排序(它不是
collections.orderedict
)。请注意,您可以使用
集合计数器
<代码>计数器(x)。最常见的()将派上用场。
字典不是按其性质排序的。您有一个名为
ordered\u dict
的东西,但它实际上没有排序(它不是
collections.orderedict
)。请注意,您可以使用
集合计数器
<代码>计数器(x)。最常见的()将派上用场。
字典不是按其性质排序的。您有一个名为
ordered\u dict
的东西,但它实际上没有排序(它不是
collections.orderedict
)。请注意,您可以使用
集合计数器
<代码>计数器(x)。最常见的()
将派上用场。。。