Python学习(16)|列表_遍历_排序_max_min_sum

列表的遍历:

a = [10,20,30,40]
for obj in a:      #obj 是临时变量名称,随意起名print(obj)

执行结果:

复制列表所有的元素到新列表对象:

list1 = [30,40,50]
list2 = list1       #只是将list2也指向了列表对象。也就是说list1和list2持有地址是相同的,列表对象本身的元素并没有复制
print(id(list1))    #执行结果:1933292032520
print(id(list2))    #执行结果:1933292032520

我们可以通过如下简单的方式实现列表元素内容的复制:

list1 = [30,40,50]
list2 = [] + list1      #生成了新列表对象
print(id(list1))        #执行结果:2468481880584
print(id(list2))        #执行结果:2468486757256

后面会学习copy模块,使用浅复制或深复制实现我们的复制操作。

列表排序

修改原列表,不建新列表的排序:

import random       #导入随机模块
a = [20,10,30,40]
print(a)            #执行结果:[20, 10, 30, 40]
a.sort()            #默认是升序排列
print(a)            #执行结果:[10, 20, 30, 40]
a.sort(reverse=True)       #降序排列
print(a)            #执行结果:[40, 30, 20, 10]
random.shuffle(a)   #打乱顺序
print(a)            #执行结果:[10, 30, 20, 40]

建新列表排序:

可以通过内置函数 sorted() 进行排序,这个方法返回新列表,不对原列表做修改。

a = [20,10,30,40]
b = sorted(a)           #默认升序排列
print(id(a))            #执行结果:2125432443400
print(id(b))            #执行结果:2125432443912
print(a)                #执行结果:[20, 10, 30, 40]
print(b)                #执行结果:[10, 20, 30, 40]
a.sort(reverse=True)    #降序
print(a)                #执行结果:[40, 30, 20, 10]
print(sorted(a,reverse=True))   #降序,执行结果:[40, 30, 20, 10]

reversed() 返回迭代器

内置函数 reversed() 也支持进行逆序排列,与列表对象 reverse() 方法不同的是,内置函数 reversed() 不对原列表做任何修改,只返回一个逆序排列的迭代器对象。

打印输出 c 时发现提示:list_reverseiterator 。也就是一个迭代对象。

同时,使用 list(c) 进行输出,发现只能使用一次。第一次输出了元素第二次为空。那是因为迭代对象在第一次时已经遍历了结果,第二次不能再使用。

max 和 min

用于返回列表中的最大值和最小值

a = [3,10,20,15,9]
print(max(a))           #执行结果:20
print(min(a))           #执行结果:3

sum

对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。

a = [3,10,20,15,9]
print(sum(a))       #执行结果:57

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/259614.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven - Plugins报错的正确解决之道

背景: 正确解决之道: 在自己本地Maven的安装目录中找到自己的仓库地址目录:直接搜索自己报错的插件文件,把它们删除,如图: 接着回到IDEA点击Maven刷新按钮重新加载即可:已解决 反例&#xff1…

SORA给数字孪生带来哪些启示

最近两天的朋友圈又被一则科技新闻刷屏了,那就是:OpenAI发布文生视频模型“Sora”。它是继ChatGPT之后,OpenAI又推出的一款震惊科技圈的产品,使AIGC向前迈了一大步。 数字孪生技术与AIGC(人工智能生成内容&#xff09…

多元统计分析课程论文-聚类效果评价

数据集来源:Unsupervised Learning on Country Data (kaggle.com) 代码参考:Clustering: PCA| K-Means - DBSCAN - Hierarchical | | Kaggle 基于特征合成降维和主成分分析法降维的国家数据集聚类效果评价 目录 1.特征合成降维 2.PCA降维 3.K-Mean…

集结低代码/零代码行业大咖,2024年领域内首场重磅峰会火热开启!

低代码/零代码技术是一种创新的软件开发方法,旨在简化程序开发过程,使得即便是非专业开发者也能快速构建和部署应用程序。通过图形化界面和拖拽式操作,用户可以无需编写复杂的代码,就能完成应用程序的设计、开发和部署&#xff0c…

tsmc12:boundary cell/tap cell的align VIA0 grid

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 往期文章链接: tsmc12:via0的spacing问题(Via0.S.1) tsmc12 OD.L.5 DRC tsmc12:boundary cell注意事项

2024年【R1快开门式压力容器操作】考试及R1快开门式压力容器操作考试内容

题库来源:安全生产模拟考试一点通公众号小程序 R1快开门式压力容器操作考试参考答案及R1快开门式压力容器操作考试试题解析是安全生产模拟考试一点通题库老师及R1快开门式压力容器操作操作证已考过的学员汇总,相对有效帮助R1快开门式压力容器操作考试内…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Marquee组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Marquee组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Marquee组件 跑马灯组件,用于滚动展示一段单行文本,仅当…

在 Python 中,通过列表字典创建 DataFrame 时,若字典的 key 的顺序不一样以及部分字典缺失某些键,pandas 将如何处理?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ pandas 是一个快速、强大、灵活且易于使用的开源数据分析和处理工具,它是建立在 Python 编程语言之上的。 pandas 官方文档地址:https://pandas.pydata.org/ 在 Python 中&…

多模态基础--- word Embedding

1 word Embedding 原始的单词编码方式: one-hot,维度太大,不同单词之间相互独立,没有远近关系区分。 wordclass,将同一类单词编码在一起,此时丢失了类别和类别间的相关信息,比如class1和class3…

小游戏和GUI编程(7) | SimpleNN 界面源码解析

小游戏和GUI编程(7) | SimpleNN 界面源码解析 0. 简介 SimpleNN 是 AdamYuan 在高中一年级时用 1 天时间写出来的简易 CNN, 使用 SFML 做 UI, 用于交互式输入手写数字,这个数字被训练好的 CNN 网络执行推理得到识别结果, 它的运行效果如下: 这一篇我们…

java客运管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java客运管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&#…

安装Joplin Server私有化部署(docker)

安装Joplin Server私有化部署(docker) 前言: 老规矩官方文档链接 1. 首先拥有一个自己的云服务器(如果没有外网访问需求的话就随意吧) 安装docker安装方式 这里Joplin是使用PostgreSQL数据库的形式, 如果没有PostgreSQL库的话, Joplin默认使用的是SQLLite数据库 我这里使用的是…

Shiro-11-web 介绍

配置 将Shiro集成到任何web应用程序的最简单方法是在web.xml中配置一个Servlet ContextListener和过滤器,该Servlet了解如何读取Shiro的INI配置。 INI配置格式本身的大部分是在配置页面的INI部分中定义的,但是我们将在这里介绍一些额外的特定于web的部…

入门级10寸加固行业平板—EM-I10J

亿道信息以其坚固耐用的智能终端设备而闻名,近日发布了一款理想入门级 10 英寸加固平板电脑—I10J。 EM-I10J​​ 这是一款 10 英寸的平板电脑,主要运行 Windows 10操作系统,带有硬化塑料外壳,具有 IP65 防水防尘功能和 MIL-STD 8…

【Java EE初阶十七】网络原理(二)

2. 传输层 2.2 TCP协议 2.2.2 关于可靠传输 4.滑动窗口 前面的三个机制,都是在保证 tcp 的可靠性; TCP 的可靠传输,是会影响传输的效率的.(多出了一些等待 ack 的时间,单位时间内能传输的数据就少了); 滑动窗口,就让可靠传输对性能的影响,更…

【大模型 知识图谱】ChatKBQA:KBQA知识图谱问答 + 大模型

ChatKBQA:KBQA知识图谱问答 大模型 提出背景传统方法处理流程ChatKBQA处理流程对比优势 总结ChatKBQA框架概览特征1:逻辑形式生成特征2:无监督实体和关系检索特征3:参数高效的微调特征4:GQoT 可解释的查询执行特征5&a…

实心陶瓷电阻器的基本原理?

什么是陶瓷电阻器? 陶瓷组合电阻器由精细研磨的绝缘体和导体的混合物组成,被压缩成圆柱形。连接端子,并在电阻器的外壳上涂上绝缘涂层。电阻根据绝缘体与导体混合物的比例进行控制。 陶瓷是一种优良的电绝缘体,也是一种极好的导热…

【Linux】---Linux下基本指令(2)

目录 一、指令详细介绍1.1 cat 指令1.2 echo 指令1.3 more 指令1.4 less 指令1.5 head 指令1.6 tail 指令1.7 date 指令1.8 cal 指令1.9 find 指令1.10 grep 指令1.11 zip/unzip 指令1.12 tar 指令1.13 uname –r 指令: 一、指令详细介绍 1.1 cat 指令 语法&#…

学习Android的第十六天

目录 Android 自定义 Adapter Adapter 接口 SpinnerAdapter ListAdapter BaseAdapter 自定义 BaseAdapter 参考文档 Android ListView 列表控件 ListView 的属性和方法 表头表尾分割线的设置 列表从底部开始显示 android:stackFromBottom 设置点击颜色 cacheColorH…

在SpringBoot中@PathVariable与@RequestParam的区别

PathVariable GetMapping("/{userId}")public R<User> getUserById(PathVariable Long userId) {return userService.getUserById(userId);} // 根据id获取一条数据 function getStudentDataByIdAndDisplayInput(id) {// 发送 AJAX 请求$.ajax({url: /dorm/st…