python列表list()常用(增册改查计序)6大操作
bigegpt 2024-10-11 10:59 8 浏览
列表常用操作
- 方法与函数的区别
- 增
- 删
- 改
- 查
- 计
- 序
方法与函数的区别:与函数功能一样,只不过写的地方不一样,就叫不一样的名字,使用方式不一样。
- 函数:函数名(参数)
- 方法:类对象 . 方法名(参数),多了一个点
增:第1类操作
单个末尾追加:.append(元素)
功能:列表最后追加元素
语法:列表.append(元素)
示例:
a = [3,'aaa',True]
a.append('bbb')
print(a) #[3, 'aaa', True, 'bbb']
定点插入:.insert(下标,元素)
功能:插入元素
语法:列表.insert(下标,元素)
示例:
a = [3,'aaa',True]
a.insert(2,'bbb') # 在第2个元素下插入,会把第2个元推到后面。
print(a) # [3, 'aaa', 'bbb', True]
a = [3,'aaa',True]
b = ['bbb','ddd',5]
a.insert(1,b) # 把列表插入,也当一个元素插入。
print(a) # [3, ['bbb', 'ddd', 5], 'aaa', True]
批量追加:.extend(元素)
功能:追加一批数据,至少添加一个元素
语法:列表.extend(容器)
示例
a = [3,'aaa',True]
b = ['bbb','ddd',5]
a.extend(b) # 把 b 列表 每一个元素插入进来,依次放到最后。
print(a) # [3, 'aaa', True, 'bbb', 'ddd', 5]
切片:在任何位置添加至少一个元素
语法:列表[ 下标 : ] = 列表
示例:
a = [3,'aaa',True]
b = ['bbb','ccc','ddd']
a[2:] = b
print(a) # [3, 'aaa', 'bbb', 'ccc', 'ddd']
'----------------------------------------------------------'
a = [3,'aaa',True]
b = ['bbb','ccc','ddd']
a[2:] = 'f'
print(a) # [3, 'aaa', 'f']
'----------------------------------------------------------'
a = [3,'aaa',True]
b = ['bbb','ccc','ddd']
a[2:] = 'fffff'
print(a) # [3, 'aaa', 'f', 'f', 'f', 'f', 'f']
+:拼接
语法:列表 + 列表
示例:
l = [1,2,3]
a = ['a','b','c']
c = l +a
print(c) # [1, 2, 3, 'a', 'b', 'c']
*:相乘
语法:列表 * 数字
示例:
l = [1,2,3]
x = 2
c = l * x
print(c) # [1, 2, 3, 1, 2, 3]
删:第2类操作
删除指定下标元素:del 列表[下标]
功能:删除指定下标元素
语法:
- del 列表[下标]
- del 列表[下标:下标]
- del 列表
示例:
a = [10,20,30,40,50,60]
del a[2] # 删除列表 a 的第 2 号值 【30】
print(a) # [10, 20, 40, 50, 60]
a = [10,20,30,40,50,60]
del a[2:] # 删除列表 a 的第 2 号之后所有值 【30,40,50,60】
print(a) # [10, 20]
a = [10,20,30,40,50,60]
del a[::2] # 每间隔2个删除全部【10,30,50】
print(a) # [20, 40, 60]
a = [10,20,30,40,50,60]
del a[::-2] # 从后面每间隔2个删除全部【60,40,20】
print(a) # [10, 30, 50]
a = [10,20,30,40,50,60]
del a # 删除列表,删除这个对象。
print(a) # 出错:NameError
删除最后一个或指定下标的元素,并返回此元素:.pop(下标):
功能:删除并返回元素,默认移除最后一个,或指定下标元素。
索引不存在:报错:IndexError
语法:
列表.pop( )
示例:
a = [3,'aaa','bbb']
b = a.pop()
print(b)
print(a)
列表.pop(下标)
a = [3,'aaa','bbb']
b = a.pop(1)
print(b) # aaa
print(a) # [3, 'bbb']
删除第一匹配的元素:.remove(元素)
功能:删除一个元素,重复元素也只删除第一个,不存在,报错 valueError
语法:列表.remove(元素)
示例:
a = [2,True,'aaa',3,True]
a.remove(True)
print(a) # [2, 'aaa', 3, True]
# 只删除啦第一个匹配值:True ,第二个还在。
清空列表:.clear()
功能:清空列表
语法:列表.clear()
示例:
a = [2,True,'aaa',3,True]
a.clear()
print(a) # [ ] 是个空的值
[ ] :切片
功能:删除一个或一批元素
语法:列表[m:n]
示例:
a = [10,20,30,40,50,60]
print(a) # [10, 20, 30, 40, 50, 60]
a[2:3] = [] # 删除1个元素:第2个:【30】
print(a) #[10, 20, 40, 50, 60]
a = [10,20,30,40,50,60]
print(a) # [10, 20, 30, 40, 50, 60]
a[2:] = [] # 删除1堆元素:第2个之后所有:【30,40,50,60】
print(a) # [10, 20]
改:第3类操作
[ ] :切片:修改一个或一批元素。
功能:修改指定索引元素
语法:列表[下标] = 值
示例:
a = [10,20,30,40,50,60]
a[2] = 100
print(a) # [10, 20, 100, 40, 50, 60]
a = [10,20,30,40,50,60]
a[2:5] = [100] # 修改成一个值
print(a) # [10, 20, 100, 60]
a = [10,20,30,40,50,60]
a[2:5] = [100,200,300,400] # 修改成一批值
print(a) # [10, 20, 100, 200, 300, 400, 60]
查:第4类操作
查找指定元素下标:.index(元素)
功能:查找某元素的下标
语法:列表.index(元素,[ 开始下标,结束下标])
示例:
a = [3,'aaa',True]
print(a.index('aaa')) # 在第1个位置找到。
a = ['a',2,'a','aaa','a',True]
print(a.index('a',3,5)) # 从第3个位置找,在第4个位置找到。
a = [3,'aaa',True]
print(a.index('aa')) # 找不到:报错
# ValueError: 'aa' is not in list
查找索引和值:enumerate( x )
功能:获取列表索引和对应的元素
示例:
list1 = ['a','b','c','d','e']
for x,y in enumerate(list1):
print(x+1,y)
'''
1 a
2 b
3 c
4 d
5 e
'''
in , ont in :成员判断
功能:判断元素是否存在
语法:
- 元素 in 列表名
- 元素 not in 列表名
示例:
a = ['a',2,'a','aaa','a',True]
print('b' in a) # 字母 'b' 在列表 a 里吗?不在为:False
print('a' in a) # 字母 'a' 在列表 a 里吗?在为:True
[ ] :切片
功能:获取单个元素,或一批元素。
语法:列表[下标] = 值
示例:
a = ['a',2,'a','aaa','a',True]
print(a[2]) # 查找第2个元素:'a'
a = ['a',2,'a','aaa','a',True]
print(a[2:]) # 查找第2个之后所有元素:['a', 'aaa', 'a', True]
计:第5类操作
某元素数量:.count(元素)
功能:统计某元素的个数
语法:列表.count(元素)
示例:
a = [2,True,'aaa',3,True]
x = a.count(True)
print(x) # 有2个 True 元素
列表元素总数:len(列表)
功能:统计列表总共有多少元素
语法:len(列表)
示例:
a = [2,True,'aaa',3,True]
x = len(a)
print(x) # 共有 5 个元素
示列表求和:sum( )
示例:
a = list(range(10))
print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(sum(a)) # 和是:45
序:第6类操作
. sort( ):排序
功能:指定数据排序,原位排序,不产生新的列表
语法:列表 . sort ( key = 函数[参数] , reverse = [ False | True ] )
reverse:
- False:从小到大,【默认】
- True:从大小
示例:
a = [40,10,30,20,50,60]
a.sort()
print(a) # [10, 20, 30, 40, 50, 60] 升序
a = [40,10,30,20,50,60]
a.sort(reverse=True)
print(a) # [60, 50, 40, 30, 20, 10] 降序
字母排序:
list1 = ['a','A','B','b','c']
list1.sort()
print(list1) # ['A', 'B', 'a', 'b', 'c'] 先大写再小写,再排序
list1 = ['a','A','B','b','c']
list1.sort(key=str.lower)
print(list1) # ['a', 'A', 'B', 'b', 'c'] 忽略字母大小写:
内置函数sorted():
功能:列表排序,产生新的列表
语法:sorted(列表 [ , reverse = True | False ] )
示例:
a = [40,10,30,20,50,60]
b = sorted(a)
print(a) # [40, 10, 30, 20, 50, 60] 原数据
print(b) # [10, 20, 30, 40, 50, 60] 升序后,默认:升序
a = [40,10,30,20,50,60]
b = sorted(a,reverse=True)
print(a,id(a)) # [40, 10, 30, 20, 50, 60] 2638186008832 原数据及地址标识
print(b,id(b)) # [60, 50, 40, 30, 20, 10] 2638186010816 降序后地址标识变化
图示总结:
相关推荐
- 当Frida来“敲”门(frida是什么)
-
0x1渗透测试瓶颈目前,碰到越来越多的大客户都会将核心资产业务集中在统一的APP上,或者对自己比较重要的APP,如自己的主业务,办公APP进行加壳,流量加密,投入了很多精力在移动端的防护上。而现在挖...
- 服务端性能测试实战3-性能测试脚本开发
-
前言在前面的两篇文章中,我们分别介绍了性能测试的理论知识以及性能测试计划制定,本篇文章将重点介绍性能测试脚本开发。脚本开发将分为两个阶段:阶段一:了解各个接口的入参、出参,使用Python代码模拟前端...
- Springboot整合Apache Ftpserver拓展功能及业务讲解(三)
-
今日分享每天分享技术实战干货,技术在于积累和收藏,希望可以帮助到您,同时也希望获得您的支持和关注。架构开源地址:https://gitee.com/msxyspringboot整合Ftpserver参...
- Linux和Windows下:Python Crypto模块安装方式区别
-
一、Linux环境下:fromCrypto.SignatureimportPKCS1_v1_5如果导包报错:ImportError:Nomodulenamed'Crypt...
- Python 3 加密简介(python des加密解密)
-
Python3的标准库中是没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto和cryptography上,我...
- 怎样从零开始编译一个魔兽世界开源服务端Windows
-
第二章:编译和安装我是艾西,上期我们讲述到编译一个魔兽世界开源服务端环境准备,那么今天跟大家聊聊怎么编译和安装我们直接进入正题(上一章没有看到的小伙伴可以点我主页查看)编译服务端:在D盘新建一个文件夹...
- 附1-Conda部署安装及基本使用(conda安装教程)
-
Windows环境安装安装介质下载下载地址:https://www.anaconda.com/products/individual安装Anaconda安装时,选择自定义安装,选择自定义安装路径:配置...
- 如何配置全世界最小的 MySQL 服务器
-
配置全世界最小的MySQL服务器——如何在一块IntelEdison为控制板上安装一个MySQL服务器。介绍在我最近的一篇博文中,物联网,消息以及MySQL,我展示了如果Partic...
- 如何使用Github Action来自动化编译PolarDB-PG数据库
-
随着PolarDB在国产数据库领域荣膺桂冠并持续获得广泛认可,越来越多的学生和技术爱好者开始关注并涉足这款由阿里巴巴集团倾力打造且性能卓越的关系型云原生数据库。有很多同学想要上手尝试,却卡在了编译数据...
- 面向NDK开发者的Android 7.0变更(ndk android.mk)
-
订阅Google官方微信公众号:谷歌开发者。与谷歌一起创造未来!受Android平台其他改进的影响,为了方便加载本机代码,AndroidM和N中的动态链接器对编写整洁且跨平台兼容的本机...
- 信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要
-
问题一:在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录,您可...
- OpenSSH 安全漏洞,修补操作一手掌握
-
1.漏洞概述近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSH安全漏洞(CNNVD-202407-017、CVE-2024-6387)情况的报送。攻击者可以利用该漏洞在无需认证的情况下,通...
- Linux:lsof命令详解(linux lsof命令详解)
-
介绍欢迎来到这篇博客。在这篇博客中,我们将学习Unix/Linux系统上的lsof命令行工具。命令行工具是您使用CLI(命令行界面)而不是GUI(图形用户界面)运行的程序或工具。lsoflsof代表&...
- 幻隐说固态第一期:固态硬盘接口类别
-
前排声明所有信息来源于网络收集,如有错误请评论区指出更正。废话不多说,目前固态硬盘接口按速度由慢到快分有这几类:SATA、mSATA、SATAExpress、PCI-E、m.2、u.2。下面我们来...
- 新品轰炸 影驰SSD多款产品登Computex
-
分享泡泡网SSD固态硬盘频道6月6日台北电脑展作为全球第二、亚洲最大的3C/IT产业链专业展,吸引了众多IT厂商和全球各地媒体的热烈关注,全球存储新势力—影驰,也积极参与其中,为广大玩家朋友带来了...
- 一周热门
- 最近发表
-
- 当Frida来“敲”门(frida是什么)
- 服务端性能测试实战3-性能测试脚本开发
- Springboot整合Apache Ftpserver拓展功能及业务讲解(三)
- Linux和Windows下:Python Crypto模块安装方式区别
- Python 3 加密简介(python des加密解密)
- 怎样从零开始编译一个魔兽世界开源服务端Windows
- 附1-Conda部署安装及基本使用(conda安装教程)
- 如何配置全世界最小的 MySQL 服务器
- 如何使用Github Action来自动化编译PolarDB-PG数据库
- 面向NDK开发者的Android 7.0变更(ndk android.mk)
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- libcrypto.so (74)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)