python一个列表中元素为元祖,想要根据元祖的第二个值进行排序,怎么做

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python一个列表中元素为元祖,想要根据元祖的第二个值进行排序,怎么做相关的知识,希望对你有一定的参考价值。

比如对 a = [('s', 0, '<pian>'), ('s', 706, '<pian>'), ('e', 14, '</pian>'), ('s', 14, '<pian>'), ('e', 7, '</pian>'), ('s', 6, '<pian>')]排序,根据每个元祖中数字大小对列表排序,最后结果应该为
a = [('s', 0, '<pian>'), ('s', 6, '<pian>'), ('e', 7, '</pian>'), ('e', 14, '</pian>'), ('s', 14, '<pian>'), ('s', 706, '<pian>')],求高手指点

print sorted(a,key=lambda x: x[1])[('s', 0, ''), ('s', 6, ''), ('e', 7, ''), ('e', 14, ''), ('s', 14, ''), ('s', 706, '')]
1、说明
1)序列是python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。列表是最常用的python数据类型,它可以作为一个方括号内的逗号分隔值出现。
2)元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
2、示例
1)列表
list1 = ['google', 'runoob', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
2)元组
tup1 = ('google', 'runoob', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
参考技术A print  sorted(a,key=lambda x: x[1])

[('s', 0, '<pian>'), ('s', 6, '<pian>'), ('e', 7, '</pian>'), ('e', 14, '</pian>'), ('s', 14, '<pian>'), ('s', 706, '<pian>')]

参考技术B 我操,这个我真不会,我也是新手

以上是关于python一个列表中元素为元祖,想要根据元祖的第二个值进行排序,怎么做的主要内容,如果未能解决你的问题,请参考以下文章

python的第五天

python-基础-字符串-列表-元祖-字典2

python的元祖字典与集合

python的元祖字典与集合

python预课04 列表,元祖,统计值计算示例,爬虫初步学习( 编辑中)

python元祖