How to sort keys of a dictionnary posted in url?
本问题已经有最佳答案,请猛点这里访问。
我在
1 | <QueryDict: {u'csrfmiddlewaretoken': [u'fhvpUorGAl7LMv4JIJRd0WOEHPkKn6iN'], u'actor_1': [u'first_actor'], u'actor_5': [u'second_actor'], u'actor_55': [u'third_actor'], u'actor_2': [u'fourth_actor']}> |
我想把它按
1 | <QueryDict: {u'actor_1': [u'first_actor'], u'actor_2': [u'fourth_actor'], u'actor_5': [u'second_actor'], u'actor_55': [u'third_actor'], u'csrfmiddlewaretoken': [u'fhvpUorGAl7LMv4JIJRd0WOEHPkKn6iN']}> |
有没有一种方法可以对字典中的键(而不是值)进行排序?
如前所述,常见的口述本质上是无序的,但您可以使用有序的图片。
1 2 3 4 5 6 7 8 9 | import collections d = { u'csrfmiddlewaretoken': [u'fhvpUorGAl7LMv4JIJRd0WOEHPkKn6iN'], u'actor_1': [u'first_actor'], u'actor_2': [u'fourth_actor'] } collections.OrderedDict(sorted(d.items())) |
词典无法排序。而是使用一个列表。
但是,您可以使用以下方法打印出排序的值:
1 2 3 4 5 6 7 8 9 10 11 12 | d = {u'csrfmiddlewaretoken': [u'fhvpUorGAl7LMv4JIJRd0WOEHPkKn6iN'], u'actor_1' : [u'first_actor'], u'actor_5' : [u'second_actor'], u'actor_55' : [u'third_actor'], u'actor_2' : [u'fourth_actor']} keys = d.keys() keys.sort() for key in keys: print d[key] print keys |
结果:
1 2 3 4 5 6 | [u'first_actor'] [u'fourth_actor'] [u'second_actor'] [u'third_actor'] [u'fhvpUorGAl7LMv4JIJRd0WOEHPkKn6iN'] [u'actor_1', u'actor_2', u'actor_5', u'actor_55', u'csrfmiddlewaretoken'] |
显示所有排序的值,最后一行显示排序的键。
不,基本上,python字典中的键是无序的。在这里查看字典文档