博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python列表定义其中元素在第几个位置_Python:嵌套列表的操作
阅读量:5012 次
发布时间:2019-06-12

本文共 980 字,大约阅读时间需要 3 分钟。

1.嵌套列表的含义

指列表中含有多个小列表,形如:

1742bef1bd781eefc502a3c9cdec0c68.png

2.如何提取嵌套列表中指定位置的元素

格式:list_name[index1][index2]

其中index1指第几个小列表,index2指该小列表中第几个元素。

如:提取zhang的成绩。

分析:zhang出现在大列表中第一个小列表中,因此第一个索引值为0,并且成绩是第一个小列表中的第2个元素,因此索引值为1。

d6414b15b634b4f960949cea3d23312d.png

3.如何根据成绩对整个列表降序排序

推荐方法:使用sort()+lambda

863876410b287cc6e118bc3a2634a7ae.png

注释:①默认的sort函数会根据小列表的第一个元素(即名字)升序排列。

②sort()函数中参数key用于指定排序的关键字。lambda x : x[1]表示使用小列表中的第2个元素(即成绩)排序,x[1]为排序的依据,如果按照人名排序,则改为:key = lambda x : x[0]。这里x是形参,表示大列表中的一个个小列表,可以是任何名字,如y、z、a……x[0]表示小列表中第1个元素(即名字),x[1]表示小列表中第2个元素(即成绩)。

③reverse = True表示降序排列

如果根据姓名字符串的长度进行降序排列:

a3ec1b046460f40e20da503856548236.png

也可以看出,排序依据不一定是列表中现有的值,可以是计算出的值,如这里的len(x[0])。

4.如何计算成绩的均值

7631153fa14bf49b325bdfa8e9da4279.png

注释:①[lst[1] for lst in stu] 是列表推导式,用于提取嵌套列表中学生的成绩,最终也是一个列表。其中lst表示大列表中的小列表,是形参,可以用其他字母如x表示,但是,特别注意lst[1]和后面 的lst名字必须保持一致。另外,返回的是lst[1],即返回小列表的第2个元素,即成绩。

列表推导式的格式:

new_lst = [表达式 for 变量 in 范围 if 条件 ]

其中表达式是包含变量的式子,如a = [x**2 for x in range(0,11) if x%2==0]中,x**2为表达式,x为变量。这个代码用于计算0~10中偶数的平方。

运行效果如下:

843259c7d77d8f47d6338bf20fad78e4.png

②len(stu)通过计算大列表的长度,可以知道大列表中包含多少个小列表,而一个小列表就是一个学生的成绩记录,因此,可以知道总共有多少学生。

参考资料:

高级语言程序设计(Python)_哈尔滨工业大学_中国大学MOOC(慕课)​www.icourse163.org
96a2b8ef97ed26dad4b385dac05a9a98.png

转载地址:http://aoggp.baihongyu.com/

你可能感兴趣的文章
Mac升级bash到最新版本
查看>>
利用vagrant打包系统--制作自己的box
查看>>
美女与硬币问题
查看>>
计算几何算法概览 (转)
查看>>
Notepad++的ftp远程编辑功能
查看>>
数据库多对多关联表(Python&MySQL)
查看>>
[实变函数]1.2 集合的运算
查看>>
第06天
查看>>
设计模式的征途—5.原型(Prototype)模式
查看>>
iOS10 app连接不上网络的问题
查看>>
结对开发之电梯调度最终稿(徐梦迪&刘博)
查看>>
simple java mail
查看>>
信息建模
查看>>
Mybatis 数据库物理分页插件 PageHelper
查看>>
虚函数、纯虚函数详解
查看>>
z-stack中数据的发送,广播、组播、点对点
查看>>
Practial Vim 学习笔记一
查看>>
.NET中使用js实现百度搜索下拉提示效果[不是局部刷新,呜呜。。]
查看>>
ITCAST视频-Spring学习笔记(使用Spring的注解方式实现AOP入门)
查看>>
关于二维码“QR”的6大注意事项
查看>>