对嵌套的字典键进行数字排序

时间:2020-10-19 12:33:23

标签: python sorting dictionary

如果我有这样的字典

{'even': {'1': 'odd', '0': 'even'}, 'odd': {'1': 'even', '0': 'odd'}}"

我想对这本字典进行排序并使它看起来像这样

{'even': {'0': 'even', '1': 'odd'}, 'odd': {'0': 'odd', '1': 'even'}}"

这怎么办?

1 个答案:

答案 0 :(得分:1)

自python 3.6 / 3.7起,字典按插入顺序排序,因此可以对字典进行排序。如果您使用的是python的旧版本,则不可能:字典未排序。

在这里,我提供了一个功能,用于按键对字典进行排序,并在一层嵌套中使用它。

new ApolloClient({
    link: from([authLink, errorLink, restLink, httpLink]),
    cache: new InMemoryCache(),
  });

如果您想对任意嵌套的字典进行任意排序,则可以使用递归和d = {'even': {'1': 'odd', '0': 'even'}, 'odd': {'1': 'even', '0': 'odd'}} def sorted_simple_dict(d): return {k: v for k, v in sorted(d.items())} def sorted_once_nested_dict(d): return {k: sorted_simple_dict(v) for k, v in sorted(d.items())} sorted_d = sorted_once_nested_dict(d) # {'even': {'0': 'even', '1': 'odd'}, 'odd': {'0': 'odd', '1': 'even'}}

isinstance( , dict)

另请参见: