我正在尝试按字母顺序对 dict 中的列表进行排序,但无法做到。我的 list 是
{"B" : ["x", "z", "k"], "A" : ["a", "c", "b"]}
我想做的是,
{"A" : ["k", "x", "z"], "B" : ["a", "b", "c"]}
我的代码是
a = {"B" : ["x", "z", "k"], "A" : ["a", "c", "b"]}
b = dict()
for key, value in a.items():
b[str(key).replace('"','')] = value
ab = OrderedDict(sorted(b.items(), key=lambda t: t[0]))
for x in ab:
ab[x].sort
return HttpResponse(json.dumps(ab), content_type="application/json")
我得到的输出是
{ "A" : ["a", "c", "b"], "B" : ["x", "z", "k"]}
谁能告诉我我的错误在哪里?我在 django 模板 json 输出中打印出来。
最佳答案
您实际上并没有调用 sort
方法。只需指定 sort
就会返回对 sort
方法的引用,在您的案例中甚至没有分配任何地方。为了实际调用它,您应该添加括号:
for x in ab:
ab[x].sort()
# Here ---^
关于python - 如何在 Python 中对 dict 中的列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33273136/