例如[('the', 5), ('of', 4), ('a', 3), ('people', 2), ('is', 2), ('when', 2), ('beating', 2) ]这样一个元组,我如何只读取每组数据中后面那个数字?我能否对该元组进行排序(排序方式是先根据后面数字大小,同等数字的看前面字母顺序按a-z排)?如果不能的话,我能否把该元组转成一个列表,再依照上面的排序方式进行排序呢?
3 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
首先这是一个由元组组成的列表,可以直接排序
>>> s=[('the', 5), ('of', 4), ('a', 3), ('people', 2), ('is', 2), ('when', 2), ('beating', 2) ]
>>> s.sort(key=lambda x:(x[1],x[0]))
>>> s
[('beating', 2), ('is', 2), ('people', 2), ('when', 2), ('a', 3), ('of', 4), ('the', 5)]
暮色呼如
TA贡献1853条经验 获得超9个赞
你的意思是数字从大到小,字母按字典顺序
如果数字都是正数
>>> s=[('the', 5), ('of', 4), ('a', 3), ('people', 2), ('is', 2), ('when', 2), ('beating', 2) ]
>>> s.sort(key=lambda x:(-x[1],x[0]))
>>> s
[('the', 5), ('of', 4), ('a', 3), ('beating', 2), ('is', 2), ('people', 2), ('when', 2)]
统计单词个数应该不会有负数吧
添加回答
举报
0/150
提交
取消