如何对元组列表进行排序

我有一个元组列表,元组中的一个领域是得分. 那怎么做 我按分数对清单进行排序? 提前致谢

# 回答1

Valkyrie在2004-11-19周五的18:22上写道: 假设分数字段是每个元组的索引1: DEF CMP(A,B): 如果a [1] B [1]: 返回1 别的: 返回0 my_tuple_list.sort(CMP) (从技术上讲,Elif可能是IFS,最终可以省略 支持仅"返回0",但为了清楚起见,以上是IMO最好的). 有关更多信息,请参见" help(list.sort)". 给添加此精彩功能的人,谢谢,谢谢. 它是 有时为我节省了很多工作,这真是太疯狂了. - - 克雷格·林格
# 回答2

2004年11月19日星期五18:22:45 +0800 valkyrie 写道: 在2.4中,您可以使用排序方法的关键参数: [('b',1),('c',3),('a',2)] - - Denis S. Otkidach http://www.python.ru/ [ru]
# 回答3

谢谢大家,现在很好:) valkyrie写道:( _@_) 2004年11月19日星期五18:22:45 +0800,有传言说Valkyrie 可能已经写了: Python 2.4: def sort_tuple_list(tuple_list,index_of_score): tuple_list.sort(key = operator.itemgetter(index_of_s core)) 例如,如果您的tuple_list为格式(v1,corce,v3,v4),则 然后你排序 sort_tuple_list(tuple_list,1) 1是第二项(0是第一个). 实际示例: [('pers6',3),('chris',15),('pers1',56)] - - tzotzioy,我说英格兰最好, " TSSS!" - 布拉德·皮特(Brad Pitt)在前所未有的古希腊
# 回答4

Valkyrie写道: 其他人则显示了比较功能的可能性,但通常 使用装饰量不合格的模式更快: def sort_on(list_to_sort,field_num): templist = [(item [field_num],item)for List_to_sort中的项目] templist.sort() 返回[pemplist中的项目]返回[项目[1]] 请注意,我正在创建一个新列表,而原始列表则未排序. 如果需要,您可以轻松地将原始名称重新列为排序列表 - myList = sort_on(myList,3) 我相信使用键= ...在2.4中的速度比此DSU模式快, 但是DSU通常比使用CMP()函数/lambda快. 杰夫·香农 技术人员/程序员 信用国际

标签: python

添加新评论