CocoaChina 11-11
python – 排序字典的方法
index_new4.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

我指的是这个问题:https://stackoverflow.com/a/575889/292291

> 如果我使用整数作为键 , 看来我保证排序顺序?

>>> dict = { 2: "list 2", 0: "list 0", 1: "list 1" }>>> dict{0: 'list 0', 1: 'list 1', 2: 'list 2'}

> 在 sorted ( mydict,key = lambda key:mydict [ key ] ) 中 , 我如何解释或读取 lambda?因为我是 lambdas 的新手 , 所以我不明白这一部分 . key:和 mydict [ key ] 是指什么?

> 在排序 ( d,key = d.get ) 中 ,d.get 引用了什么?如果我做:

>>> dict.get<built-in method get of dict object at 0x1d27830>

最佳答案

1- Dicts 永远不会保证订单 , 有时它甚至可能看起来像 , 但在那里得到足够的数字 , 你会发现它们没有 ( 这是因为每个键获得hashes的方式 )

2- 这两个是相同的:

lambda key: mydict [ key ] def temp_function ( key ) : return mydict [ key ]

基本上 , 您正在创建一个临时函数 , 它接收键作为参数 , 并返回 mydict [ key ]

3- sorted 的第二个参数是指将被调用的函数 , 传递当前的 dict 键 . 此返回的值将用于确定已排序的 dict 的顺序 .

相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论