当前位置: 首页 > article >正文

python-列表的操作以及切片

一、列表(可变的序列)
1.列表定义,列表创建:
a = [1, 2.1, 'hello', Ture, [1, 2, 3], (1, 2, 3), print] 啥都能放
type(a)   //返回结果为list

b = list('hello')   //字符串转换成列表

c = list(10)  不可迭代的数据类型,会报错

x = []
y = list()
2.列表的删除,使用关键字del
del b
注意:del可以删除任意数据类型,不仅仅是列表

3.访问列表元素
一般用下标进行访问
a[0]
a[-1]('hello')  //打印hello
print(a[2][1])  #打印e

a = [1, 2.1, 'hello', Ture, [1, 2, 3], (1, 2, 3), print]
id(a)
a[0] = 10
id(a)   地址不变,可变数据类型 ;

4.列表元素的添加 方法有这几种:+ += append() extend() insert()
(1)第一种
a = a + [10]   //只能加列表,不能加字符串 __add__  魔法方法
id(a)   地址变化,创建一个新的列表

(2)+=
a += [10]
id(a)   //地址不变,对原来列表添加10  所以一般+=优于+
a += 'hello'   //加减一个可迭代的序列或者一个列表   __iadd__

(3)append()
a.append(10)  运用append方法
也不会创建新列表
只能添加一个argument   例如:
a.append(20,30,40)
(4)  extend方法   任意可迭代数据类型
a.extend([10,20,30])
a.extend('hello')
注意:append和extend在使用上有区别,append可以接受任意元素,而extend只能接受可迭代元素


(5)插入方法  insert  在索引号之前添加,id不变
a.insert(1,20)
a.insert(3,[1,2,3])

5.列表元素的删除
(1)del方法
b = list('hello')
del b
del a[0]
(2)pop方法  pop(index)  默认最后一个
a.pop(0)
"""
b = a[6]
del a[6]
"""
b = a.pop(6)

(3)remove(value)方法   删除遇到的第一个值
a.remove(10)
注意:可以判断是否在列表中,用in
10 in a
返回bool值  又有个取反的  not in
'll' in 'hello'
#返回ture

6.列表的其他方法
(1)clear方法
b = list('hello')
id(b)
b.clear()
id(b)
不用传参;clear只是将列表元素清空,内存还在;

(2)count方法:
a.count(20)
用于计数,看列表中有多少某元素

(3)index 返回某值的索引  (遇到的第一个元素索引)
a.index('h')
index(self, value, start=0, stop=9223372036854775807)
a.index('h', 6, 15)  #前闭后开

7.列表元素的切片
x = [62, 24, 60, 82, 21, 75, 32, 19, 83]
print(x[0], x[1], x[2], )
print(x[0:3])  #打印前3个元素
print(x[0:90000])   #打印所有元素
print(x[0:])    不写,默认切到最后
print(x[:4])   前四个
print(x[:])
print(x[-4:])
#完整的切片,第三个数为步长
print(x[:6:2])   #步长为1可以省略
print(x[0:6:-1])
#得到空列表
#步长不能为0
#不是列表特有的,所有序列都有切片
x = 'hello, world'
x[:4]


切片列表快速赋值
a[-4:] = []
a[1:1] = [10,20,30,40,50]
a[1:6] = [100,200,300,400,500]


http://www.kler.cn/a/591249.html

相关文章:

  • Groove 清除环境变量,以防应用程序因为环境变量设置了错误的 Qt 插件路径而启动失败
  • OpenHarmony子系统开发 - 电话服务
  • 整体二分算法讲解及例题
  • 自然语言处理|Top-K 采样如何解锁文本生成的多样性?
  • php开发转go的学习计划及课程资料信息
  • 速通大厂测开
  • 爱普生 SG-8200CG可编程晶振在智能手表的应用
  • 从零构建大语言模型全栈开发指南:第一部分:数学与理论基础-1.1.1语言模型演进:从N-gram到Transformer
  • 【从零开始学习计算机科学】软件测试(六)软件开发中的软件测试过程 与 验收测试
  • 本地知识库RAG总结
  • 1.排序算法(学习自用)
  • 每日一题--计算机网络
  • deepseek连续对话与API调用机制
  • 【概念】Node.js,Express.js MongoDB Mongoose Express-Validator Async Handler
  • Tomcat虚拟主机配置详解:Centos环境下多域名部署(详细教程!)
  • Hunyuan3D,腾讯推出的3D资产系统
  • 华为IPD六个阶段细分:研发效率提升的6个关键步骤
  • 【Kubernetes】Kube Proxy 如何帮助 Pod 之间通信?Kube-Proxy 实践案例
  • 蓝桥杯备赛(基础语法4)
  • 荣耀手机怎么录制屏幕?屏幕录制后为视频加水印更有“安全感”