【发布时间】:2011-05-02 18:55:28
【问题描述】:
['7', 'Google', '100T', 'Chrome', '10', 'Python']
我希望结果是最后的所有数字,其余的排序。数字不需要排序。
Chrome
Google
Python
100T
7
10
不过稍微复杂一些,因为我按值对字典进行排序。
def sortname(k): return get[k]['NAME']
sortedbyname = sorted(get,key=sortname)
在两个答案都已发布后,我只添加了 100T,但接受的答案仍然适用,我在评论中发布了一些修改。为了澄清,应该对匹配 ^[^0-9] 的名称进行排序。
【问题讨论】:
-
python的字典不是无序的吗?
-
@Lie Ryan:它是无序的,这就是它必须排序的原因;) 制作排序字典是不可能的(使用 OrderedDict 除外),但他正在对名称列表进行排序(这恰好发生在来自嵌套字典)。
-
好的,加上这个例子……你对“是一个数字”的定义是什么? “以数字开头”?
标签: python list sorting dictionary