album_array.sort(cmp=lambda dict_a,dict_b: cmp(dict_a['create_time'], dict_b['create_time']),reverse=True)
result["album_array"] = album_array
result["album_array"]
就是None
result["album_array"] = album_array.sort(cmp=lambda dict_a,dict_b: cmp(dict_a['create_time'], dict_b['create_time']),reverse=True)
1
omytea 2016-01-21 19:42:01 +08:00
下面那个=取得是 sort()的返回值,而 sort()没有返回值
|
2
liuhaotian 2016-01-21 19:43:28 +08:00
请问 Markdown 是怎么自动给代码高亮的?我在 Github-favored Markdown 里面好像没有看到代码高亮的部分。
|
3
felixzhu 2016-01-21 19:43:44 +08:00
问题就在于,你这两段代码本来就不等价。
sort 函数返回 None |
5
hayao650 OP @liuhaotian 你试试 3 个反引号+语言类型+内容+3 个反引号
|
6
neoblackcap 2016-01-22 12:21:02 +08:00
@hayao650 列表的 sort 方法是 in place 的,返回值是 None ,这个方法会直接改变调用的列表自身。
若是需要返回值,那么请用 sorted()函数,这个函数不会改变传入的列表而是返回一个新的排序后的列表。 PS: 排序请使用 key 参数,尽量减少 cmp 参数的使用,排序性能会有提高。 |
7
hayao650 OP @neoblackcap 谢谢,一会儿我改进一下试试
|