python - 如何在 Python 中对 dict 中的列表进行排序?

标签 python list sorting dictionary alphabetical

我正在尝试按字母顺序对 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/

相关文章:

python - 使用最少的依赖关系/权限将Docker容器镜像镜像到Google Container Registry

python - 自动列表生成; Python

list - 针对元组列表迭代现有 map

java - 如何使用包含数字的键对 TreeMap<String, Boolean> 的 keySet() 进行排序?

c++ - 从文件中读取字符串并排序

algorithm - 理解伪代码

python - 如何调试在 Python 中使用的 Windows DLL?

python - 如何通过代码(在python中)找到网络的mtu值?

Python 类 : Singleton or Not Singleton by Passing a Value?

python - 打印出列表中每个列表的平均值,在 Python 中每行一个