列表的魔法

简介: 以中括号括起来,以","分隔每个元素,列表中的元素可以是数字,字符串,列表中可以嵌套列表。列表的列表中还能嵌套列表,也可以是布尔值。所有的都能放进去。 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失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。
487 2
|
存储 负载均衡 Cloud Native
【微服务系列笔记】Nacos
Nacos 是阿里巴巴开源的项目,用于构建云原生应用的动态服务发现、配置管理和服务管理平台。它支持动态服务发现、服务配置、服务元数据和流量管理,旨在更敏捷和方便地构建、交付和管理微服务平台。可作为注册中心与配置中心。
461 5
|
设计模式 算法 编译器
【设计模式系列笔记】访问者模式
访问者模式是一种行为设计模式,旨在将算法与对象结构分离,使得能够在不修改元素类的前提下定义新的操作。这一模式的核心思想是在元素类中添加一个接受访问者的方法,从而实现在不同元素上执行不同操作的能力。
163 0
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
586 212
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
233 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
824 60