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

作者&投稿:尾琼 (若有异议请与网页底部的电邮联系)
python, 非空元组列表中,如何对每个元组中元素的平均值按升序排序?急求!代码打一下~


用 List 类的 sort 方法可以很方便实现。
sample = [(2, 6, 4, 5), (1, 7), (4, 3, 4), (2, 3, 8, 1), (4,)]
sample.sort(key=lambda x: len(x))
sample.sort(key=lambda x: sum(x)/len(x))
第一次根据元组长度排序,保证长度较短的元素相对位置靠前(如果没有长度排序,直接进行平均值排序,元素 (1, 7) 会排在 (4,) 的前面,无法得到正确的顺序);
第二次根据元组元素的平均值排序,得到正确的结果;
排序后 sample 的输出结果:
[(2, 3, 8, 1), (4, 3, 4), (4,), (1, 7), (2, 6, 4, 5)]

你说的是不是这种情况:
a = [5, 6]
b = [7, 8]
L = [a, b] #相当于: L = [[5, 6], [7, 8]]
此时: L[0][1] , 0 是 L 中元素 a 的下标,然后 a 又是一个列表, 1 就是列表 a 中元素 6 的下标
所以 L[0][1] 指的就是元素 6 了。
L[0] == a
a[1] == 6
列表中有元组也是一样的,比如:
L = [(5, 6), [7, 8]]
也可以 L[0][1]

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";

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>')]



我操,这个我真不会,我也是新手


用python创建一个列表,分别打印出列表的索引号和索引号对应的值_百度知...
list1 = ['a','b','c']fmt = 'index %d value is %s'print ', '.join([fmt % (idx, val) for idx, val in enumerate(list1) ])# orprint ', '.join(map( lambda x: fmt%x, enumerate(list1) ))

用python编写程序,从键盘输入一个含有整数元素的列表,将所有偶数按升序...
可以使用 Python 的列表切片和排序函数来实现这个功能。具体步骤如下:从键盘输入一个含有整数元素的列表。使用列表切片技术取出列表中的偶数和奇数,分别存储在不同的列表中。对两个列表进行排序,将偶数列表按照升序排列放在奇数列表前面。将排序后的偶数列表和奇数列表合并成一个列表。输出合并后的列表。下...

用Python怎么统计一个列表的元素种类和各个种类的个数?
统计一个列表中每一个元素的个数在Python里有两种实现方式,第一种是新建一个dict,键是列表中的元素,值是统计的个数,然后遍历list。items = ["cc","cc","ct","ct","ac"]count = {}for item in items: count[item] = count.get(item, 0) + 1print(count)#{'ac': 1, 'ct'...

Python中怎么将一个列表转换成excel文档?
首先需要安装 pandas 库,在命令行中输入:pip install pandas 然后可以使用 pandas 库中的 DataFrame 函数将列表转换成 DataFrame 数据结构,再使用 to_excel 函数将 DataFrame 保存为 excel 文件。示例代码:import pandas as pd 假设你有一个名为 data 的列表 data = [['Tom', 10], ['Dick', ...

python+将a列表里的1357个数怎么表示?
现在,变量 a 就包含了这些数字。你可以使用这个列表进行各种操作,比如访问列表中的元素、添加新元素或对列表进行其他操作。如果你想将这些数字作为连续的范围(从1到7)放入列表,你可以使用 Python 的 range() 函数和列表推导式来实现:在这个例子中,range(1, 8, 2) 创建了一个从 1 到 7 的...

python怎样对列表进行排序
python提供了sort和reverse方法来对数据进行排序,今天咪咪我就教教大家python怎样对列表进行排序。首先,打开cmd命令,然后输入python,按回车键进入python练习模式。之后,定义一个列表。可以看到列表有一些数据,并且这些数据是无序的。接着使用列表名.reverse()来调用reverse方法,然后回车。之后,打印test...

python列表中的元素使用什么符号分隔
在Python中,列表中的元素使用逗号(,)分隔。拓展知识:Python由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为一门叫作ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写...

python编程:输入若干个以空格分隔的数,存储在一个列表中,求出其中的...
要使用Python编程实现输入若干个以空格分隔的数,存储在一个列表中,并求出其中的最大值,可以按照以下步骤进行:1. 首先,使用`input()`函数接收用户输入的以空格分隔的数。2. 使用`split()`方法将输入的字符串按空格分隔,得到一个包含各个数的字符串列表。3. 使用`map()`函数将字符串列表转换为...

如何在Python中判断一个数是否在列表中?
在Python中,可以使用in运算符来判断一个数是否在列表中,示例代码如下:定义一个列表 numbers = [1, 2, 3, 4, 5]判断3是否在列表中 if 3 in numbers:print("3在列表中")else:print("3不在列表中")在这段代码中,我们首先定义了一个名为numbers的列表,然后使用in运算符判断3是否在列表中...

python创建长10000的列表,从1开始的整数?
答: 在python中,使用list即可创建一个列表,又因为我们要创建一个从1~10000的连续列表,因此我们可以借助range函数,使用range(1, 10001)生成一个range对象,再强制转化为list类型即可。代码如下所示。运行结果如下所示,产生了一个数值元素从1~10000的list。

鄂托克旗18488468368: python列表中有元祖 怎么用python语言表达 -
邰妍凯力: 第一个数值表示列表下标,第二个表示元组里面元素的位置

鄂托克旗18488468368: Python中list,tuple,dict,set的区别和用法 -
邰妍凯力: list 相当于数组 tuple 叫元祖,相当于元素不可变数组,只能读 dict 名叫字典,我是听着怪怪的,这东西有点像 json ,又有点像 javascript 中的对象,又有点像 php 中的关联数组 set 是集合,就是元素不可重复,不分顺序.用法(非全面总结,...

鄂托克旗18488468368: python中元祖对应java中的什么 -
邰妍凯力: 元组其实就是一个不能修改元素的数组,Java中并没有对应的数据类型

鄂托克旗18488468368: 列表和元组的区别 -
邰妍凯力: 列表list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.列表中的项目.列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表.一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表...

鄂托克旗18488468368: python中列表和元组之间有什么区别? -
邰妍凯力: 除了元组是不可变的之外,还应有语义上的区别来指导它们的用法.元组是异构数据结构(即它们的条目具有不同的含义),而列表是同类序列.元组具有结构,列表具有顺序. 使用这种区别可以使代码更加明确和易于理解. 一个示例是成对...

鄂托克旗18488468368: Python中,如何合并两个键相同,值为元祖类型的字典? -
邰妍凯力: 你好,下面是对应的代码:把元祖变成list合并 C = {} for key in list(set(dicxs) | set(diccj)):if dicxs.get(key) and diccj.get(key):C[key]= list(dicxs[key])+list(diccj[key])elif dicxs.get(key):C[key]=list(dicxs[key])else:C[key]=list(diccj[key])

鄂托克旗18488468368: python判断条件,True和Flase的问题? -
邰妍凯力: ('3','2'),是一个元祖对象,同理,('a','b')也是一个元组对象 当这两种对象比较时,都是比较里面的元素,当第一次遇到元素不相等时,立刻返回元素的比较结果做位这两个对象的比较结果.如果全都一样,就比较谁多.如果都一样且长度也一样,就返回相等. 显然,'3'要比'a'小,所以 比较('3','2') < ('a','b')就返回True

鄂托克旗18488468368: python语句 del a[2:4] 什么意思 -
邰妍凯力: pyhton中del语句可以用来删除列表中某一个元素或者是某一个片段,只需要给出元素所在的索引值,而不需要给出元素的具体值.del a[2:4]就是指删除列表a中索引2到索引4的值,但不包括4. 代码示例:

鄂托克旗18488468368: python 中怎样把很多的list存放到tuple元祖中? -
邰妍凯力: 1. list和元祖都是集合类型,tuple是不可变的,定义的时候就确定长度了.2. 把很多的list放进tuple中那么就得在定义tuple的时候确定好多个list结合之后的结果.3. 在python中可以直接用+操作符把多个list链接起来作为一个新的list4. 例如:5. a1 = ...

鄂托克旗18488468368: python中元祖中的值可以修改吗? -
邰妍凯力: 在python中 元组的长度是不可以修改的,如果元组中的索引包含例如列表,那么是可以修改其中列表中的值

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网