python:任意顺序
发布时间:2020-12-20 13:01:48 所属栏目:Python 来源:网络整理
导读:在Oracle SQL中,有一个要按如下顺序排序的功能: order by decode("carrot" = 2,"banana" = 1,"apple" = 3) 在python中实现它的最佳方法是什么? 我希望能够通过它的键来命令一个字典.而且该顺序不一定按字母顺序或任何顺序 – 我确定顺序. 解决方法 你不能
在Oracle SQL中,有一个要按如下顺序排序的功能:
order by decode("carrot" = 2,"banana" = 1,"apple" = 3) 在python中实现它的最佳方法是什么? 我希望能够通过它的键来命令一个字典.而且该顺序不一定按字母顺序或任何顺序 – 我确定顺序. 解决方法
你不能自己订购一个字典,但你可以将它转换为(键,值)元组列表,你可以对它进行排序.
您使用.items()方法来执行此操作.例如, >>> {'a': 1,'b': 2} {'a': 1,'b': 2} >>> {'a': 1,'b': 2}.items() [('a',1),('b',2)] 最有效的排序方法是使用关键功能.使用cmp效率较低,因为必须为每对项目调用它,使用key只需要为每个项目调用一次.只需指定一个可调用项,它将根据项目的排序方式对项进行转换: sorted(somedict.items(),key=lambda x: {'carrot': 2,'banana': 1,'apple':3}[x[0]]) 上面定义了一个dict,它指定了你想要的键的自定义顺序,lambda返回旧dict中每个键的值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |