【发布时间】:2016-03-03 20:58:53
【问题描述】:
给定以下字典:
a = {'foo': {'n': 'one', 'text': 'bla'},
'bar': {'n': 'two', 'text': 'blah'},
'baz': {'n': 'three', 'text': 'blabla'}}
我想要一个按n 中的值排序的结果列表:
['foo', 'bar', 'baz']
鉴于n 中的值是常量且已知的(全部)。所以为了这个例子,只有one、two和three是n中允许的值。
我认为这必须是 a.items() 上的 sorted() 与将 one 替换为 1 等的转换 lambda 函数的某种组合,这样排序函数才能真正起作用。但我似乎无法将它串起来使其工作。
【问题讨论】:
-
sorted(a.keys(), lambda x: a[x]['n']) -
@BhargavRao 你没看第二句话吗?我想将字典中的值 排序到 列表中。您可以对任何值进行排序,这与字典无关。
-
@thkang 这似乎不起作用,而且它会按字母顺序按
n中的值排序。 -
@mart1n 标题不正确。我没有超越标题。现在会读。对不起
标签: python list sorting dictionary