python list倒序_Python 学习笔记:Python 列表和运算方法

之前学习 Python 的数据类型 的时候,简单学过 Python 的列表。列表在 Python 中是非常有用的,后面经常会用得到。

另外列表的某些方法跟 Python 字符串运算 的非常像,学会了字符串的运算,列表学习就非常简单了。

下面集中把 Python 列表 相关的知识学习一下。

列表 list

列表是一组不同数值和字符串组成的数据表,里面可以存储数字型和字符串等数据。

Python 的列表是用英文中括号 [] 来生成的,中间的元素用英文逗号 , 来分割。(下面是之前举过的例子):

a = [1, 2.0, 'hello', 5 + 1.0]print(a)print(type(a))

运行结果是:

[1, 2.0, 'hello', 6.0]

5cebc684bb9e658cda413a6aec3af626.png

获取列表中的部分元素

方法跟获取字符串中的部分字符类似,使用索引值来获取列表中的元素,同样索引值是从0开始的。

获取列表某个元素

使用 name[n] 来获取,其中name是列表名,n是索引值。

# 获取某个位置的元素# print(name[n])a = [1,2,3,'a','b','c','d']print(a[3])print(a[0])

其中列表 a 里索引值 3 的是字符 a,索引值 0 的是数字 1.

f2837e7916a796f5302ac3a6ef203738.png

截取从 n 到 m 前一位索引位置的元素

使用的方法是 name[n:m] 截取的是列表中从 索引值 n 到 索引值 m 前一位 的元素,不包含 索引值 m 的元素。

# 获取从第n个开始到m之前索引位置的元素,不包含m# print(name[n:m]a = [1,2,3,'a','b','c','d']print(a[1:4])

也就是获取索引值 1 到 索引值 3 的元素。

300b47ab2f6537e9a934de06b2125b48.png

获取从n到m中间,步进为 s 的元素

跟字符串的方法是一样的:name[n:m:s]

# 获取从第n个开始到m之前,步进为s的元素# print(name[n:m:s]a = [1,2,3,'a','b','c','d']print(a[1:6:2])

列表中索引值 1 到 6之前的元素分别是:2, 3, 'a', 'b', 'c', 'd',步进是2,也就是获取 2, 'a', 'c' 元素:

d725d302f328bcca739fa5b3fcd4f9fa.png

对列表中的元素进行倒序

跟字符串中一样,如果索引范围中冒号 : 前面没有数字,默认从索引值 0 开始,冒号后面没有数字的话,默认到列表结尾。

所以倒序可以用这个方法:name[::-1]

# 列表倒序,其中:前面没有数字的话,默认从0开始,后面没有数字的话,默认到列表结尾# print(name[::-1])a = [1, 2,3,'a','b','c','d']print(a[::-1])

运行结果如图,一看就明白了:

0a439d35ddf4dbf0d4b63849bc5abeba.png

注意,倒序并不会改变原来列表中元素的顺序,如果想要保存生成的新的倒序的列表,可以赋值给一个新的变量,也可以赋值给原来的变量,这样原来的列表就改变了。

比如,如果想要更改原来的列表成倒序,使用下面的代码:

a = [1, 2,3,'a','b','c','d']print(a[::-1])print(a)a = a[::-1]print(a)

运行结果如下:

2afea52aa67baaefecb47489948e0f86.png

字符串转换成字符组成的列表

我们前面看到列表跟字符串特性非常相近,那么我们可以使用 list() 命令把一个字符串变成由字符组成的列表。

方法是 list('str')

a = list('Python')print(a)

会变成列表['P', 'y', 't', 'h', 'o', 'n']

1da1c91e373947bcbf4ae0a74ef768a6.png

列表分片赋值

我们可以对列表中的部分元素进行修改。

替换列表某部分的元素

a = list('Python')a[2:] = [1,2,3]# 把索引值 2 到结尾的元素替换成 1, 2, 3 几个元素 print(a)

变成了 p, y, 1, 2, 3 组成的列表

32624cde3d16d551c030be0366f5af72.png

在列表某个位置插入元素

a = [1,2,6,7]a[2:2] = [3,4,5]# 在索引 2 前面插入 3, 4, 5 这三个元素print(a)

列表 a 在索引 2 之前插入列表 [3, 4, 5] 之后变成[1, 2, 3, 4, 5, 6, 7]

eb1cb27db3f2e755b2b34dab9d9ccccc.png

删除列表中某些位置的元素

a = [1,2,3,4,5,6,7]a[1:4] = []# 删除索引 1 到 4 之前的元素print(a)

删除索引 1 到 索引 4 之前的元素,列表会变成[1567]

a7fb196449163ae103d7999b062f6a91.png

向列表添加元素

使用下面的方法添加元素的时候,直接作用于原列表。

a = [1,2,3,'a','b','c']# 向列表结尾中添加一个元素:a.append("world")print(a)# 向列表索引 n 前面添加一个元素a.insert(1,4)print(a)

86dfb13e1ca4abe358ca5d0f5f9df04d.png

删除列表一个元素

同样使用下面方法删除元素的时候,直接作用于原列表。

a = [1,2,3,'a','b','c']# 删除最后一个元素a.pop()print(a)# 删除索引值 n 的元素a.pop(1)print(a)

c0c85efc159b51d6a43c116340087ba1.png

我们使用 pop 方法删除指定元素的时候,可以把删除的元素赋值给新的变量

a = [1,2,3,'a','b','c']x =a.pop(0)# 删除索引 0 的元素,赋值给 xprint(a)print(x)

28f4fb9575145ce506b9e9ddc19d7f91.png

在列表中查找元素

判断变量 x 是否在列表 l 中:in l

结果是布尔型数据,True 或者 False.

x = 'P'y = 'a'l = list('Python')print(x in l)print(y in l)

列表中有 'P',没有 'a',所以第一个是 True,第二个是 False.

311e3a7df82c46f28b7618ed913bad76.png

下面的就大家可以自己演示一下:

统计变量 x 在列表 a 中出现了几次

a.count(x)

查找变量 x 在列表 a 第一次出现的位置

a.index(x)

列表 a 的长度

len(a)

列表合并

列表 a 和 列表 b 合并成一个新的列表

a = [1,2,3]b = ['a','b','c']c = a + b# 列表 a 跟 列表 b 合并,并赋值给 列表 cprint(c)

4027cb0fb46fa5915d917a4da0d63a28.png

列表 b 合并到 列表 a 中,相当于 a = a + b

a = [1,2,3]b = ['a','b','c']a.extend(b)# 列表 b 合并到 列表 aprint(a)

bd25edf3b16639dd0dec179dafd5beb0.png

想要了解更详细的 Python 知识,欢迎关注微信公众号 逍遥乱弹,然后点击菜单 Python 就可以查看我所有的 Python 学习日志了,后面会持续更新的。

b3c073876d79ed45838e28076dadcbc9.png

吐槽时间:说实话,自己学习的时候记笔记,跟把笔记写出来分享给大家完全不一样,自己记笔记的时候,自己懂就好了。但是分享给别人,就不能预设其他人跟你一样的思维,所以需要把前因后果写清楚,其实还是不容易的。

这篇分享在之前已经做好笔记的基础上,重新用了2个多小时才重新写完,包括案例的运行等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值