码迷,mamicode.com
首页 > 编程语言 > 详细

python 使用记录

时间:2015-05-11 16:04:52      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

元组比较:

1 >>> (0, 1, 2) < (0, 3, 4)
2 True
3 >>> (0, 1, 2000000) < (0, 3, 4)
4 True

列表的多字段排序:

sorted_list = [
    [1, 2, 3, 4, 5, 6, 7, 8],
    [3, 2, 6, 1, 8, 4, 6, 1],
    [8, 3, 5, 1, 3, 9, 0, 2],
    [9, 8, 7, 6, 5, 3, 2, 1]
]

sorted(sorted_list, key = lambda item: (item[1], item[4], item[3]), reverse = True)

# result
[[9, 8, 7, 6, 5, 3, 2, 1],
 [8, 3, 5, 1, 3, 9, 0, 2], 
 [3, 2, 6, 1, 8, 4, 6, 1],
 [1, 2, 3, 4, 5, 6, 7, 8]]

列表-列表的分组操作:

import itertools

sorted_list = [
    [1, 2, 3, 4, 5, 6, 7, 8],
    [1, 2, 6, 1, 8, 4, 6, 1],
    [8, 2, 5, 7, 3, 9, 0, 2],
    [9, 8, 7, 6, 5, 3, 2, 1]
]


sorted([[key, [item for item in items]] for key, items in itertools.groupby(sorted_list, key = lambda item: (item[0], item[1]))], key = lambda item: item[0][0])

# result

[

[ (1, 2), [ [1, 2, 3, 4, 5, 6, 7, 8], [1, 2, 6, 1, 8, 4, 6, 1] ] ], #分组1

[(8, 2), [ [8, 2, 5, 7, 3, 9, 0, 2] ] ], #分组2

[(9, 8), [ [9, 8, 7, 6, 5, 3, 2, 1] ] ] #分组3

]

 

python 使用记录

标签:

原文地址:http://www.cnblogs.com/sudz/p/4494786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!