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.mzph.cn/news/690033.shtml

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

相关文章

Springboot返回给前端的日期变成时间戳问题处理

问题: 解决方案 在对应的Entity类中,给对应属性添加JsonFormat​注解 ​JsonFormat​注解用于将Date日期格式化为指定格式的字符串。由于在序列化时间时是按照国际标准时间GMT进行格式化的,最后接受到的数据会早8个小时,所以应该…

CF778A String Game 题解

文章目录 CF778A String Game 题解题面翻译Input DataOutput DataInput Sample 1Output Sample 1题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示算法:二分代码: CF778A String Game 题解 link 题面翻译 …

【白嫖8k买的机构vip教程】安卓设备连接电脑进行adb命令操作

Android 真机进行adb 命令的操作: 连接方式 : 数据线连接: 1)手机需通过数据线连接电脑; 2)手机调出开发者选项;手机操作步骤:设置——系统——关于手机(平板电脑&am…

CDN缓存有什么作用?

CDN缓存是内容分发网络的核心技术之一,它的作用在于通过将内容缓存在边缘服务器上,提高内容的访问速度和可用性。以下是CDN缓存的几个主要作用: 加速内容的访问速度 CDN缓存通过将内容缓存在距离用户更近的边缘服务器上,减少了内…

【办公类-16-07-02】“2023下学期 周计划-户外游戏 每班1周五天相同场地,6周一次循环”(python 排班表系列)

背景需求: 又到了开学季,新的自主游戏(户外游戏)安排表出炉了。 这张是贴在美术活动室的安排表,我需要转换成班级为单位的安排表,便于批量制作周计划。 设计思路: 1、一个班级每周轮到的一个场…

电商+支付双系统项目------怎么用代码实现支付系统?

前言 上篇文章讲了我们应该怎么设计支付系统,构建了一个支付系统的蓝图,这篇文章我来讲一下怎么用代码来设计支付系统。当然,我肯定不是手把手的教你哈哈哈,我只是把支付系统的核心的部分展示给大家看,让大家了解一下…

C 语言 devc++ 使用 winsock 实现 windows UDP 利用 IP 进行局域网发送消息

UDP 通信流程_udp通信过程-CSDN博客参考来源 UDP 通信流程_udp通信过程-CSDN博客 这里移植到windows 上 &#xff0c;使用 devc 开发。 服务端代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <…

【python】深入探索使用Matplotlib中的plt.legend()添加图例

当我们绘制复杂的图表&#xff0c;尤其是包含多个数据系列的图表时&#xff0c;一个清晰、易读的图例是至关重要的。plt.legend()函数是Matplotlib库中用于添加和定制图例的关键工具。在本篇博文中&#xff0c;我们将深入探讨plt.legend()的功能、用法以及如何通过它提升图表的…

ChatGLM3:打造更智能、更安全的代码解释器和工具使用体验

ChatGLM3 是由智谱AI训练的第三代大型语言模型&#xff0c;它不仅能理解和生成人类语言&#xff0c;还能执行代码、调用工具&#xff0c;并以 markdown 格式进行响应。为了提高用户体验&#xff0c;同时避免用户输入的注入攻击&#xff0c;ChatGLM3 采用了全新的对话格式。下载…

Qt的基本操作

文章目录 1. Qt Hello World 程序1.1 通过图形化界面的方式1.2 通过代码的方式实现 2. Qt 的编码问题3. 使用输入框实现hello world4. 使用按钮实现hello world5. Qt 编程注意事项6. 查询文档的方式7. 认识Qt坐标系 1. Qt Hello World 程序 1.1 通过图形化界面的方式 我们先讲…

Vue3中 状态管理器 ( Pinia ) 详解及使用

传送门&#xff1a; Vue中 状态管理器&#xff08;vuex&#xff09;详解及应用场景 传送门&#xff1a;Pinia 中文文档 注意&#xff1a;本文项目使用脚手架为 Vite&#xff1b; 1. 前言 Pinia 对比 Vuex Pinia 同时支持 Vue2 以及 Vue3 &#xff0c;这让同时使用两个版本的…

现货白银投资热度推升因子

白银作为一种贵金属&#xff0c;其投资价值会受到多种因素的影响。在一些特殊的情况下&#xff0c;现货白银作为具有高杠杆的白银替代投资方式&#xff0c;会成为热门的投资工具&#xff0c;大受市场的追捧&#xff0c;本文将为大家介绍一下相关情况。 通常当全球的经济面临不确…

【Linux】进程间通信——共享内存

文章目录 共享内存的概要创建共享内存shmget()参数keyshmget()参数sizeshmget()参数shmflg 删除共享内存挂载共享内存去关联 共享内存的概要 共享内存允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间传递数据的一种非常有效的方式。不同进程之间…

【ArcGIS Pro二次开发】(81):玩个花活_控规指标块生成

一、要实现的效果 废话不多说&#xff0c;这次要实现的是类似控规指标块的标注&#xff1a; 这里只是示例&#xff0c;用了5个格子&#xff0c;做成9个格子也是可以的。 实现这个效果最关键的是要用到Pro中的复合标注。 关于复合标注的用法可以搜一下帮助里的【使用复合注释…

【区块链技术开发语言】在ubuntu18 系统环境下命令操作安装GO语言开发环境

要在Ubuntu 18系统上安装GO语言开发环境,您可以按照以下步骤进行: 打开终端(Ctrl + Alt + T)。 使用以下命令下载GO语言安装包: 或者手动打开链接下载: wget https://golang.org/dl/go1.17.5.linux-amd64.tar.gz确保替换链接中的版本号为最新版本。 解压下载的安装包…

yolov8源码解读Detect层

yolov8源码解读Detect层 Detect层解读网络各层解读及detect层后的处理 关于网络的backbone,head&#xff0c;以及detect层后处理&#xff0c;可以参考文章结尾博主的文章。 Detect层解读 先贴一下全部代码,下面一一解读。 class Detect(nn.Module):"""YOLOv8 …

【EndNote20】Endnote20和word的一些操作

文章目录 前言一、如何导入参考文献到EndNote201.1.在谷歌学术或知网上下载文献1.2.将下载好的文件导入EndNote20(可批量导入)1.3.书籍如何导入 二、Word中加入参考文献 前言 做毕设时学习了EndNote20的一些使用方法&#xff0c;并在此慢慢做汇总。 一、如何导入参考文献到End…

【python】python入门之输入与进入交互模式的方法

目录 一次性输入&#xff08;进入交互模式&#xff09;&#xff1a; 输入函数&#xff1a; 一次性输入&#xff08;进入交互模式&#xff09;&#xff1a; 交互模式介绍&#xff1a;写一行读一行&#xff0c;不用print也可以显示出来 &#xff08;当进行某些一次性计算或者纠错…

在石家庄有哪家券商证券公司可以免费开量化软件Ptrade、QMT

在石家庄有少数证券公司可以免费开量化软件QMT、Ptrade&#xff0c;如国金证券、广发证券等&#xff0c;之前要100万才可开通&#xff0c;现在只需满足资金50万的条件即可免费办理使用&#xff0c;详情找客户经理孙经理咨询。 证券佣金低价标准是“成本价”&#xff0c;默认佣金…

多线程——

目录 一、为什么要有多线程&#xff1f; 1、线程与进程 2、多线程的应用场景 3、小结​编辑 二、多线程中的两个概念&#xff08;并发和并行&#xff09; 1、并发 2、并行 3、小结 三、多线程的三种实现方式 1、继承Thread类的方式进行实现 2、实现Runnable接口的方…