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

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]

相关文章:

  • 异常(完)
  • 计算GPS点之间距离(JS实现)
  • 从C语言开始的C++编程生活(1)
  • 第二十七篇 数据仓库与维度建模指南:从理论到实战的进阶之路
  • 无需OpenAI API运行OpenManus!
  • docker和k8s区别详解
  • NLP高频面试题(五)——BERT的基本结构介绍、预训练任务、下游任务
  • Business processes A bridge to SAP and a guide to SAP TS410 certification
  • 资源文件逆向与界面篡改技术
  • 案例驱动的 IT 团队管理:创新与突破之路:第一章 重构 IT 团队管理:从传统到创新-2.1.3 反直觉案例:非技术背景成员的价值挖掘
  • C语言动态内存管理(下)
  • 18.封装红黑树实现mymap和myset
  • luogu「EZEC-10」打分 --- Python3 解法
  • libaom 源码分析:scalable_decoder.c 文件
  • 村民信息管理系统
  • SpringBoot可以同时处理多少请求?
  • 使用 Arduino 的基于物联网的空气污染监测系统
  • 群体智能优化算法-爱情进化算法 (Love Evolution Algorithm, LEA,含Matlab源代码)
  • 51c自动驾驶~合集24
  • RCore学习记录002
  • 从《缶翁的世界》看吴昌硕等湖州籍书画家对海派的影响
  • 《掩耳盗邻》:富人劫富,是犯罪,也是赎罪?
  • 美官方将使用华为芯片视作违反美出口管制行为,外交部回应
  • 李强:把做强国内大循环作为推动经济行稳致远的战略之举
  • 与总书记交流的上海人工智能实验室年轻人,在探索什么前沿领域?
  • 西北大学副校长成陕西首富?旗下巨子生物去年净利超20亿,到底持股多少