Python中列表的操作
1. 定义
在Python中,列表使用方括号[ ],包括,内部使用逗号,隔开
在列表中一个变量可以对应多个值,其中可以放任意类型的数据进行嵌套。
# l1 = [1, 2, 3, 4, 6] # #;列表中可以放入任意数据类型进行嵌套 # l2 = [10, 3.14, "hello", "True", True, l1] # print(l2) # print(type(l2[4]))运行结果:
我们也可通过list()来声明列表
但是list()只接受一个参数,并且只能是可迭代(iterable)类型
#使用list来声明 l3 = list("python") print(l3)2. 索引
列表的索引是从左往右,第一个的索引为0,依次往后递增
因为列表的索引是从0开始,而恰巧range函数如果只输入结束值,默认起始值为0,所以可以通过range函数展示索引中的所有元素。
l1 = ["第一个数", "第二个数", "第三个数", "第四个数"] for i in range(4): print(l1[i])写range(4)是因为列表的长度是4,我们也可以通过len(l1)来获取列表长度
到时候写成 for i in range(len(l1))即可
运行结果:
3. 切片
在Python中,切片允许你一次性获取、修改或删除列表中的一部分元素。切片操作会创建一个新的列表
形式如下:
list[start:stop:step] # list 列表名 # start 从哪里开始的位置的索引 # stop 到哪里结束的位置的索引 但是不包括这个数 # step 步长,不设置则默认为0,一次跳过几个数示例一:
datas = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] print(datas[0:3]) print(datas[1:5]) print(datas[0:9:2])示例二:
经典操作: 打印全部 和 倒着打印
datas = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] print(datas[0:]) print(datas[::-1])运行结果:
4. 遍历
遍历方式一: 直接遍历
列表是可迭代的,所以你可以直接对列表进行for遍历
datas = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] for i in datas: print(i)运行结果
遍历方法二:通过len 和 range 函数:
通过len函数获取列表长度,然后通过range 获得索引,for循环实现遍历
datas = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100] for i in range(len(datas)): print(i) #获取索引值 print(datas[i]) #通过索引找到值运行结果
0 1 2 3 4.……都是i的值,也就是索引的值
10 20 30 40……是通过索引的值来找到的值
7. 常用方法
1.找索引
面对一个列表,我们首先得找其中的值的索引,这时我们可以使用 index。
index :它能够返回第一个匹配值的索引,如果找不到就会报错
使用方法
找l1中"v"的索引
l1 = ["a", "b", "v", "c", "a"] print(l1.index("v"))运行结果
同时我们也有个用于计数的函数count,用于计算一个字符出现的次数。
使用方法
l1 = ["a", "b", "v", "a" ,"c", "a"] print(l1.count("a"))运行结果
2.插入
列表是刻印进行增删操作的,非常灵活,向其中添加元素的方法有三种:append, insert,extend
1.append
append函数是将元素插入末尾,方便好用
l1 = ["a", "b", "v", "a" ,"c", "a"] l1.append("ddd")运行结果:
2.insert 这个的功能比较强,可以向列表中插入函数,后续元素依次后移
insert(index, obj) index索引 ,obj是你要添加的值
l1 = ["a", "b", "v", "a" ,"c", "a"] l1.insert(1,"####") print(l1)运行结果:
3.extend
extend 函数能将一串可迭代的元素依次添加到末尾
l1 = ["a", "b", "v", "a" ,"c", "a"] l1.extend("123456") print(l1)运行结果
3.删除
对列表进行插入就想到要怎么进行删除呢,有这几个函数可以使用:pop, remove,clear
1.pop 针对索引进行删除
l1 = ["a", "b", "v", "a" ,"c", "a"] l1.pop() print(l1)运行结果:
如果在pop里添加索引值,那么就删除对应位置的元素
删除索引【2】位置的元素
l1 = ["a", "b", "v", "a" ,"c", "a"] l1.pop(2) print(l1)结果是:
2.remove
remove 函数是针对元素进行的删除,不用看索引直接删元素,但只删除从左到右第一个匹配的元素
删除列表中的“a”
l1 = ["a", "b", "v", "a" ,"c", "a"] l1.remove("a") print(l1)运行结果:
只删除了第一个匹配的元素
3.clear 针对列表中所有元素进行删除的霸道函数,啥都不管,直接删
l1 = ["a", "b", "v", "a" ,"c", "a"] l1.clear() print(l1)运行结果:
无一生还
4.排序
列表中数值比较多的时候,为了更美观,我们可以使用sort函数进行排序,搭配reverse函数还能实现倒序
1.sort
能直接对列表中的函数进行排序
l1 = [1,5,8,45,8,34,0,4,8,2,2,5,7] l1.sort() print(l1)运行结果:
、
2.reverse
实现列表的原地翻转
l1 = [1,5,8,45,8,34,0,4,8,2,2,5,7] l1.reverse() print(l1)运行结果:
3.sort 搭配 reverse 使用
l1 = [1,5,8,45,8,34,0,4,8,2,2,5,7] l1.sort() print(l1) l1.reverse() print(l1)运行结果:
能看出,sort和reverse函数都是对列表本身进行的操作
恭喜你!现在你已经掌握了 Python 列表的定义、索引、切片和反转,这是 Python 编程中最基础也最重要的技能之一。
测试题:
- 删除指定列表中重复的数字 [1,1,2,2,3,3,4,5,6,7,8,9]
结果 [1,2,3,4,5,6,7,8,9]