列表的魔法

简介: 以中括号括起来,以","分隔每个元素,列表中的元素可以是数字,字符串,列表中可以嵌套列表。列表的列表中还能嵌套列表,也可以是布尔值。所有的都能放进去。 li = [1,12,9,"age",["hehe",2,"wang",["wanggang","xudong"]],"end"] print(l.

以中括号括起来,以","分隔每个元素,列表中的元素可以是数字,字符串,列表中可以嵌套列表。列表的列表中还能嵌套列表,也可以是布尔值。所有的都能放进去。

li = [1,12,9,"age",["hehe",2,"wang",["wanggang","xudong"]],"end"]
print(li[4][3][1])
---
xudong
---

切片

li = [1,12,9,"age",["hehe",2,"wang",["wanggang","xudong"]],"end"]
print(li[3:-1])
---
['age', ['hehe', 2, 'wang', ['wanggang', 'xudong']]]

# 取大于等于3,小于5
print(li[3:5])
---
['age', ['hehe', 2, 'wang', ['wanggang', 'xudong']]]

支持for循环,while循环,break,continue

for item in li:
    print(item)
---
1
12
9
age
['hehe', 2, 'wang', ['wanggang', 'xudong']]
end

列表中的元素是可以被修改的,字符串不能被修改

li = [1,12,9,"age",["hehe",2,"wang",["wanggang","xudong"]],"end"]
li[1] = 250
print(li)
---
[1, 250, 9, 'age', ['hehe', 2, 'wang', ['wanggang', 'xudong']], 'end']
# 切片修改
li[1:3] = [250,500]
print(li)
---
[1, 250, 500, 'age', ['hehe', 2, 'wang', ['wanggang', 'xudong']], 'end']

可以被删除

del li[1]
print(li)
---
[1, 9, 'age', ['hehe', 2, 'wang', ['wanggang', 'xudong']], 'end']

# 通过切片删除
li = [1,12,9,"age",["hehe",2,"wang",["wanggang","xudong"]],"end"]

del li[4:-1]
print(li)
---
[1, 12, 9, 'age', 'end']

数字转字符串str()
字符串转数字int()

a = 123
int(a)
a = 123
str(a)

字符串转列表

a = "yangyajun"
print(list(a))
---
['y', 'a', 'n', 'g', 'y', 'a', 'j', 'u', 'n']

append追加

def append(self,p_object)
li = [11,22,33,44]
v = li.append(5)
print(v)
---
None
# 在原来值后追加
print(li)
---
[11,22,33,44,5]

清空

li.clear()
print(li)
---
[]

copy复制,浅拷贝

v = li.copy()
print(v)
---
[11,22,33,44]

计数count,计算元素出现的次数

v = li.count(22)
print(v)
---
2

iterable迭代,必须传一个可迭代对象

li = [11,22,33,22,44]
li.extend([9898,"不得了"])
print(li)
---
[11, 22, 33, 22, 44, 9898, '不得了']

index,根据值找索引(位置)

def index(self,value,start=None, stop=None):...
v = li.index(33)
print(v)
---
1

insert,根据指定位置(索引位置)插入元素

li = [11,22,33,22,44]
v = li.insert(0,99)
print(li)
---
[99, 11, 22, 33, 22, 44]

pop,默认把最后一个元素删除,并获取被删除的值

def pop(self,index=None)
li.pop()
print(li,v)
---
[11, 22, 33, 22] 44

# 根据索引的位置删除值,并获取,如果没有指定索引,默认是最后一个
v = li.pop(1)
print(li,v)
---
[11, 33, 22, 44] 22

remove,删除列中中指定值,左边优先

li.remove(22)
print(li,v)
---
[22, 33, 22, 44] None

将当前列表进行反转

li = [11,22,33,22,44]
li.reverse()
print(li)
---
[44, 22, 33, 22, 11]

排序

li = [11,44,22,33,22]
li.sort()
print(li)
---
[11, 22, 22, 33, 44]
# 从大到小排序
li.sort(revers=True)
---
[44, 33, 22, 22, 11]
目录
相关文章
|
缓存 NoSQL 安全
【Redis系列笔记】缓存三剑客
缓存穿透是指请求一个不存在的数据,缓存层和数据库层都没有这个数据,这种请求会穿透缓存直接到数据库进行查询。它通常发生在一些恶意用户可能故意发起不存在的请求,试图让系统陷入这种情况,以耗尽数据库连接资源或者造成性能问题。 缓存击穿发生在访问热点数据,大量请求访问同一个热点数据,当热点数据失效后同时去请求数据库,瞬间耗尽数据库资源,导致数据库无法使用。 缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。
549 2
|
存储 负载均衡 Cloud Native
【微服务系列笔记】Nacos
Nacos 是阿里巴巴开源的项目,用于构建云原生应用的动态服务发现、配置管理和服务管理平台。它支持动态服务发现、服务配置、服务元数据和流量管理,旨在更敏捷和方便地构建、交付和管理微服务平台。可作为注册中心与配置中心。
510 5
|
设计模式 算法 编译器
【设计模式系列笔记】访问者模式
访问者模式是一种行为设计模式,旨在将算法与对象结构分离,使得能够在不修改元素类的前提下定义新的操作。这一模式的核心思想是在元素类中添加一个接受访问者的方法,从而实现在不同元素上执行不同操作的能力。
195 0
|
4天前
|
存储 JavaScript 前端开发
JavaScript基础
本节讲解JavaScript基础核心知识:涵盖值类型与引用类型区别、typeof检测类型及局限性、===与==差异及应用场景、内置函数与对象、原型链五规则、属性查找机制、instanceof原理,以及this指向和箭头函数中this的绑定时机。重点突出类型判断、原型继承与this机制,助力深入理解JS面向对象机制。(238字)
|
3天前
|
云安全 人工智能 安全
阿里云2026云上安全健康体检正式开启
新年启程,来为云上环境做一次“深度体检”
1479 6
|
5天前
|
安全 数据可视化 网络安全
安全无小事|阿里云先知众测,为企业筑牢防线
专为企业打造的漏洞信息收集平台
1316 2
|
4天前
|
缓存 算法 关系型数据库
深入浅出分布式 ID 生成方案:从原理到业界主流实现
本文深入探讨分布式ID的生成原理与主流解决方案,解析百度UidGenerator、滴滴TinyID及美团Leaf的核心设计,涵盖Snowflake算法、号段模式与双Buffer优化,助你掌握高并发下全局唯一ID的实现精髓。
330 160
|
4天前
|
人工智能 自然语言处理 API
n8n:流程自动化、智能化利器
流程自动化助你在重复的业务流程中节省时间,可通过自然语言直接创建工作流啦。
380 6
n8n:流程自动化、智能化利器
|
13天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1501 7
|
6天前
|
人工智能 API 开发工具
Skills比MCP更重要?更省钱的多!Python大佬这观点老金测了一周终于懂了
加我进AI学习群,公众号右下角“联系方式”。文末有老金开源知识库·全免费。本文详解Claude Skills为何比MCP更轻量高效:极简配置、按需加载、省90% token,适合多数场景。MCP仍适用于复杂集成,但日常任务首选Skills。推荐先用SKILL.md解决,再考虑协议。附实测对比与配置建议,助你提升效率,节省精力。关注老金,一起玩转AI工具。