百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python列表list()常用(增册改查计序)6大操作

off999 2024-10-01 13:53 23 浏览 0 评论

列表常用操作

  1. 方法与函数的区别

方法与函数的区别:与函数功能一样,只不过写的地方不一样,就叫不一样的名字,使用方式不一样。

  • 函数:函数名(参数)
  • 方法:类对象 . 方法名(参数),多了一个点

增:第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 列表[下标]

功能:删除指定下标元素

语法:

  1. del 列表[下标]
  2. del 列表[下标:下标]
  3. 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	降序后地址标识变化

图示总结:

相关推荐

apisix动态修改路由的原理_动态路由协议rip的配置

ApacheAPISIX能够实现动态修改路由(DynamicRouting)的核心原理,是它将传统的静态Nginx配置彻底解耦,通过中心化配置存储(如etcd)+OpenRest...

使用 Docker 部署 OpenResty Manager 搭建可视化反向代理系统

在之前的文章中,xiaoz推荐过可视化Nginx反向代理工具NginxProxyManager,最近xiaoz还发现一款功能更加强大,界面更加漂亮的OpenRestyManager,完全可以替代...

OpenResty 入门指南:从基础到动态路由实战

一、引言1.1OpenResty简介OpenResty是一款基于Nginx的高性能Web平台,通过集成Lua脚本和丰富的模块,将Nginx从静态反向代理转变为可动态编程的应用平台...

OpenResty 的 Lua 动态能力_openresty 动态upstream

OpenResty的Lua动态能力是其最核心的优势,它将LuaJIT嵌入到Nginx的每一个请求处理阶段,使得开发者可以用Lua脚本动态控制请求的生命周期,而无需重新编译或rel...

LVS和Nginx_lvs和nginx的区别

LVS(LinuxVirtualServer)和Nginx都是常用的负载均衡解决方案,广泛应用于大型网站和分布式系统中,以提高系统的性能、可用性和可扩展性。一、基本概念1.LVS(Linux...

外网连接到内网服务器需要端口映射吗,如何操作?

外网访问内网服务器通常需要端口映射(或内网穿透),这是跨越公网与私网边界的关键技术。操作方式取决于网络环境,以下分场景详解。一、端口映射的核心原理内网服务器位于私有IP地址段(如192.168.x.x...

Nginx如何解决C10K问题(1万个并发连接)?

关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen。Nginx是大型架构的必备中间件,下面我就全面来详解NginxC10k问题@mikechen文章来源:mikec...

炸场!Spring Boot 9 大内置过滤器实战手册:从坑到神

炸场!SpringBoot9大内置过滤器实战手册:从坑到神在Java开发圈摸爬滚打十年,见过太多团队重复造轮子——明明SpringBoot自带的过滤器就能解决的问题,偏偏要手写几十...

WordPress和Typecho xmlrpc漏洞_wordpress主题漏洞

一般大家都关注WordPress,毕竟用户量巨大,而国内的Typecho作为轻量级的博客系统就关注的人并不多。Typecho有很多借鉴WordPress的,包括兼容的xmlrpc接口,而WordPre...

Linux Shell 入门教程(六):重定向、管道与命令替换

在前几篇中,我们学习了函数、流程控制等Shell编程的基础内容。现在我们来探索更高级的功能:如何控制数据流向、将命令链接在一起、让命令间通信变得可能。一、输入输出重定向(>、>>...

Nginx的location匹配规则,90%的人都没完全搞懂,一张图让你秒懂

刚配完nginx网站就崩了?运维和开发都头疼的location匹配规则优先级,弄错顺序直接导致500错误。核心在于nginx处理location时顺序严格:先精确匹配=,然后前缀匹配^~,接着按顺序正...

liunx服务器查看故障命令有那些?_linux查看服务器性能命令

在Linux服务器上排查故障时,需要使用一系列命令来检查系统状态、日志文件、资源利用情况以及网络状况。以下是常用的故障排查命令,按照不同场景分类说明。1.系统资源相关命令1.1查看CPU使...

服务器被入侵的常见迹象有哪些?_服务器入侵可以被完全操纵吗

服务器被入侵可能会导致数据泄露、服务异常或完全失控。及时发现入侵迹象能够帮助你尽早采取措施,减少损失。以下是服务器被入侵的常见迹象以及相关的分析与处理建议。1.服务器被入侵的常见迹象1.1系统性能...

前端错误可观测最佳实践_前端错误提示

场景解析对于前端项目,生产环境的代码通常经过压缩、混淆和打包处理,当代码在运行过程中产生错误时,通常难以还原原始代码从而定位问题,对于深度混淆尤其如此,因此Mozilla自2011年开始发起并...

8个能让你的Kubernetes集群“瞬间崩溃”的配置错误

错误一:livenessProbe探针“自杀式”配置——30秒内让Pod重启20次现象:Pod状态在Running→Terminating→CrashLoopBackOff之间循环,重启间隔仅...

取消回复欢迎 发表评论: