|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
>>> rows = [
{'fname': 'Brian', 'lname': 'Jones', 'uid': 1003},
{'fname': 'David', 'lname': 'Beazley', 'uid': 1002},
{'fname': 'John', 'lname': 'Cleese', 'uid': 1001},
{'fname': 'Big', 'lname': 'Jones', 'uid': 1004}
]
>>> rows_by_fname = sorted(rows, key=lambda r: r['fname'])
>>> print(rows_by_fname)
[{'fname': 'Big', 'lname': 'Jones', 'uid': 1004}, {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname': 'Beazley', 'uid': 1002}, {'fname': 'John', 'lname': 'Cleese', 'uid': 1001}]
(萌新)lambda的参数r我猜测是指代列表rows里的字典,我想不通的是列表里字典有四个,怎么一个r就能指代而不引发错误。
sorted()是一个排序函数,它的第一个参数是一个需要排序的序列(列表,元组,字符串等等),他的key参数接受一个callable对象(可以调用的对象,可以理解成一个函数),把这个key参数所指定的函数作用于序列的每个元素(可以理解为把序列中的每个元素做为参数,来调用key参数所指定的函数),再用各自得到返回结果,做为排序的依据进行排序,可能说的啰嗦了点,多看几遍,应该能看的很明白吧
|
|