Python 程序设计入门(007)—— 列表的操作(2):列表元素的排序及统计操作

Python 程序设计入门(007)—— 列表的操作(2):列表元素的排序及统计操作

目录

  • Python 程序设计入门(007)—— 列表的操作(2):列表元素的排序及统计操作
    • 一、列表元素的排序
        • 1、使用 sort() 方法对列表元素进行排序
        • 2、使用 sorted() 函数对列表进行排序
        • 3、使用 reverse() 方法翻转列表
    • 二、对列表中元素的统计操作
        • 1、统计列表中的元素个数
        • 2、统计列表中某个元素出现的次数
        • 3、查找指定的值在列表中的索引
        • 4、对列表中的元素求和
        • 5、使用 for 循环打印列表元素

一、列表元素的排序

1、使用 sort() 方法对列表元素进行排序

sort() 方法排序区分大小写,先排序首字母为大写的,再排序首字母为小写的。sort() 方法会改变原列表的排列循序。

sort() 方法的语法格式如下:

listname.sort(key=NONE[,reverse=False])

说明:

(1)默认的排序规则为:先对大写字母进行排序,然后再对小写字母进行排序。升序排列。

(2)可以设置 key = str.lower 参数忽略大小写。

(3)设置 reverse = True 实现降序排列。

例如:

list1=["Jack",'Mark',"tom","Black","jerry","White"]
list1.sort()
print(list1)
list1.sort(key=str.lower)
print(list1)
list1.sort(key=str.lower,reverse=True)
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['Black', 'Jack', 'Mark', 'White', 'jerry', 'tom']
['Black', 'Jack', 'jerry', 'Mark', 'tom', 'White']
['White', 'tom', 'Mark', 'jerry', 'Jack', 'Black']

2、使用 sorted() 函数对列表进行排序

sorted() 函数将列表排序后赋值给其他列表,不改变原列表中元素的顺序。语法格式如下:

listname_new = sorted(listname, key=NONE, reverse=False)

例如:

list1 = ["Jack",'Mark',"tom","Black","jerry","White"]
list2 = sorted(list1)
list3 = sorted(list1,key=str.lower)
list4 = sorted(list1,reverse=True)
print(list1)
print(list2)
print(list3)
print(list4)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['Jack', 'Mark', 'tom', 'Black', 'jerry', 'White']
['Black', 'Jack', 'Mark', 'White', 'jerry', 'tom']
['Black', 'Jack', 'jerry', 'Mark', 'tom', 'White']
['tom', 'jerry', 'White', 'Mark', 'Jack', 'Black']

3、使用 reverse() 方法翻转列表

reverse() 方法将列表倒序排序,语法格式如下:

listname.reverse()

例如:

list1 = ["Jack",'Mark',"tom","Black","jerry","White"]
list1.reverse()
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['White', 'jerry', 'Black', 'tom', 'Mark', 'Jack']

二、对列表中元素的统计操作

1、统计列表中的元素个数

使用 len() 函数可以统计列表中元素的个数。语法格式如下:

len(listname)
list1 = ["Jack",'Mark',"tom","Black","jerry","White"]
str1="I'm a student."
print(len(list1))
print(len(str1))运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
6
14

2、统计列表中某个元素出现的次数

使用 count() 方法可以统计某个元素出现的次数。语法格式如下:

listname.len()

例如:

list1 = [2,3,5,7,11,13,13]
print(list1.count(3))
print(list1.count(13))运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
1
2

3、查找指定的值在列表中的索引

使用 index() 方法返回具有指定值的第一个元素的索引。语法格式如下:

listname.index(元素)

例如:

list1 = [2,3,5,7,11,13,13,5,7,25,7,29]
print(list1.index(7))     #第一个7的索引为3 
print(list1.index(7,4))   #第4个元素开始,第一个7为8运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
3
8

4、对列表中的元素求和

使用 sum() 函数实现对列表中元素的求和。sum() 函数的语法格式如下:

sum(listname)

例如:

list1 = [2,3,5,7,11,13,13,5,7,25,7,29]
print(sum(list1))          # 对所有元素求和
print(sum(list1[1:4]))     # 对[3,5,7]求和
print(sum(list1[-4:-1]))   # 对[7,25,7]求和运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
127
15
39

5、使用 for 循环打印列表元素

语法格式如下:

for x in 列表名: print(x)

例如:

list1 = [1,2,3,4,5]
list2 = ["Jack","Mark","Tom","Jerry","Kate"]
for item1 in list1:print(item1)
for item2 in list2:print(item2)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
1
2
3
4
5
Jack
Mark
Tom
Jerry
Kate

使用 zip() 函数可以将可迭代的对象打包,将对象中对应的元素打包成一个个的元组,然后返回由这些元组组成的列表。语法如下:

zip(iterable, ...)

例如:

list1 = [1,2,3,4,5]
list2 = ["Jack","Mark","Tom","Jerry","Kate"]
list3 = [["20200214111","刘明"],["20200214112","张静静"],["20200214113","刘宏"]]
list4 = [25,30,28]
for item1,item2 in zip(list1,list2):print(str(item1)+"."+item2)
for item3,item4 in zip(list3,list4):print("学号:"+item3[0]+"\t姓名:"+item3[1]+"\t年龄:"+str(item4))运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
1.Jack
2.Mark
3.Tom
4.Jerry
5.Kate
学号:20200214111	姓名:刘明	年龄:25
学号:20200214112	姓名:张静静	年龄:30
学号:20200214113	姓名:刘宏	年龄:28

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

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

相关文章

LeetCode724. 寻找数组的中心下标

题干 给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。…

k8s概念-pv和pvc

回到目录 kubernetes存储卷的分类太丰富了,每种类型都要写相应的接口与参数才行,这就让维护与管理难度加大。 persistenvolume(PV) 是配置好的一段存储(可以是任意类型的存储卷) 也就是说将网络存储共享出来,配置定义成PV。 PersistentVolumeClaim(PVC)是用户pod使…

Python黑魔法揭秘:装饰器、生成器、异步编程、GIL、描述符和元类

Python中的某些特性被看作是“黑魔法”,原因在于它们的强大功能和复杂性。接下来,让我们深入探索这些特性。 装饰器 装饰器是修改函数或类行为的强大工具,它提供了一种可读性强、代码重用的方式来增强或修改函数或类的行为。装饰器就像一个…

用Rust实现23种设计模式之 职责链模式

关注我,学习Rust不迷路!! 优点 解耦:职责链模式将请求发送者和接收者解耦,使得多个对象都有机会处理请求,而不是将请求的发送者和接收者紧密耦合在一起。灵活性:可以动态地改变或扩展处理请求…

Thunar配置自定义动作

Add “Copy To” and “Move To” custom actions in Thunar file manager | For the record 1.在此打开终端 图标-应用程序:utilities-terminal 命令:exo-open --working-directory %f --launch TerminalEmulator 文件类型:* 目录 2.右键增…

生成指定网段的IP字典自动化脚本

目录 1.前言 2.生成指定网段的IP字典自动化脚本 1.前言 在可回显的服务端跨站请求伪造(SSRF)漏洞中,我们通常会利用该漏洞进行内网资产探测。最近正好碰到了。写了一个小脚本。 2.生成指定网段的IP字典自动化脚本 脚本可指定协议、IP段、和端口生成字典。 get-Intranet-A…

谁更适合搭配甜点显卡?i7-13700KF、锐龙7 7800X3D对比:游戏相当 生产力Intel强了50%...

一、前言:如果搭配2000元甜点显卡 i7-13700KF和锐龙7 7800X3D谁更有性价比? 现在AMD最受欢迎的处理器无疑是拥有96MB三级缓存的锐龙7 7800X3D,这是一颗专为游戏而生的处理器。 Intel这边,i7-13700KF以略高于i5-13600K的售价&#…

小鱼深度产品测评之:阿里云容器服务器ASK,一款不需购买节点,即可直接部署容器应用。

容器服务器ASK测评 1、引言2、帮助文档3、集群3.1集群列表3.1.1 详情3.1.1.1概览 tab3.1.1.2基本信息 tab3.1.1.4集群资源 tab3.1.1.5 集群日志 tab3.1.1.6 集群任务 tab 3.1.2 应用管理3.1.2.1 详情3.1.2.2 详情3.1.2.3 伸缩3.1.2.4 监控 3.1.3 查看日志3.1.3.1 集群日志3.1.3…

Java feign接口调用后返回子类,序列化子类反序列化只得到父类

需要修改序列化方法 我存的时候放的子类,接收到却是只有父类的数据 feign默认使用jackson进行序列化,需要在父类上加上注解 JsonTypeInfo(use JsonTypeInfo.Id.CLASS) 在父类头上增加注解: import com.fasterxml.jackson.annotation.Jso…

Julia 日期和时间

Julia 通过 Dates 模块提供了以下三个函数来处理日期和时间: Date:表示日期,精确到日,只显示日期。DateTime:表示日期和时间,精确到毫秒。DateTime:表示日时间,精确到纳秒&#xff…

2023-08-05力扣今日三题

链接&#xff1a; 剑指 Offer 22. 链表中倒数第k个节点 题意&#xff1a; 如题 解&#xff1a; 快慢指针 实际代码&#xff1a; #include<iostream> using namespace std; struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {} }; L…

elementui弹窗页按钮重复提交问题解决

一、BUG场景 ruoyi平台&#xff0c;页面弹出窗有提交按钮&#xff0c;在提交时连续多次点击会发生重复提交。 二、错误方案 给按钮增加 :loading"submitLoading" 属性。 <el-dialog :title"title" :v-if"open" :visible.sync"open&…

学习Boost二:从附录3来看编码习惯

附录C 关键字浅谈 在C11标准中&#xff08;C11.2.12&#xff09;总共定义了73个关键字&#xff08;keyword&#xff09;、2个“准”关键字&#xff08;identifiers with special meaning&#xff09;和11个操作符替代字&#xff08;alternative representation&#xff09;[1]。…

【Python】数据分析+数据挖掘——掌握Python和Pandas中的单元格替换操作

1. 前言 数据处理和清洗是数据分析和机器学习中至关重要的步骤。在数据处理过程中&#xff0c;我们经常需要对数据集进行清洗和转换&#xff0c;其中单元格替换是一个常用的技术。Python作为一种功能强大且灵活的编程语言&#xff0c;为数据处理提供了丰富的工具和库。Pandas库…

邀请媒体现场报道,有哪些作用?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 邀请媒体现场报道活动具有多种重要作用和意义&#xff0c;可以为你的活动带来广泛的曝光和正面影响。以下是一些邀请媒体现场报道的作用和意义&#xff1a; 1. 增加活动曝光度&#xff…

通过nvm工具快捷切换node.js版本、以及nvm的安装

使用nvm可以实现多个Node.js版本之间切换 步骤目录&#xff1a; 先卸载掉本系统中原有的node版本 去github上下载nvm安装包 安装node 常用的一些nvm命令 1、先卸载掉本系统中原有的node版本 2、去github上下载nvm安装包 https://github.com/coreybutler/nvm-windows/re…

ffmpeg转码时出现missing picture in access unit with size 14019

使用ffmpeg录制网络流视频&#xff0c;因为网卡的缘故导致录制中断&#xff0c;视频在转换的时候就出现这个问题。 missing picture in access unit with size 14019怀疑是在最后的地方视频是损坏的&#xff0c;索性截取掉最后的2秒时间&#xff0c;原本视频时长是02:06:28&am…

LeetCode933. 最近的请求次数

题干 写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请你实现 RecentCounter 类&#xff1a; RecentCounter() 初始化计数器&#xff0c;请求数为 0 。int ping(int t) 在时间 t 添加一个新请求&#xff0c;其中 t 表示以毫秒为单位的某个时间&#xff0c;并返回…

Python学习笔记:List、Tuple、for循环

1.list list_demo [7, 7, 8, 9, 9, 9] print(list_demo.index(7)) # index 方法返回第一个index list_demo.sort() # 排序list list_demo.reverse() # 倒序list list_demo1 list_demo.copy() # 复制list 2.matrix 其实就是list嵌套&…

Linux命令200例:sort用于对文本文件进行排序的15个例子(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f3c6;本文已…