跳至主要內容

列表操作

刘春龙原创...大约 2 分钟Python教程文档

列表切片操作

类似字符串的切片操作,对于列表的切片操作和字符串类似。

切片是 Python 序列及其重要的操作,适用于列表、元组、字符串等等。

切片 slice 操作可以让我们快速提取子列表或修改。标准格式为:[起始偏移量start:终止偏移量end[:步长step]]

操作和说明示例结果
[:] 提取整个列表[10,20,30][:][10,20,30]
[start:]从 start 索引开始到结尾[10,20,30][1:][20,30]
[:end]从头开始知道 end-1[10,20,30][:2][10,20]
[start:end]从 start 到 end-1[10,20,30,40][1:3][20,30]
[start:end:step]从 start 提取到 end-1,步长是 step[10,20,30,40,50,60,70][1:6:2][20, 40, 60]

其他操作(三个量为负数)的情况:

示例说明结果
[10,20,30,40,50,60,70][-3:]倒数三个[50,60,70]
[10,20,30,40,50,60,70][-5:-3]倒数第五个到倒数第三个(包头不包尾)[30,40]
[10,20,30,40,50,60,70][::-1]步长为负,从右到左反向提取[70, 60, 50, 40, 30, 20, 10]
a = [20, 40, 60, 80, 100]
print(a[1:3])  # [40, 60]

b=[10,20,30,40,50,60,70]
print(b[::-1])  # [70, 60, 50, 40, 30, 20, 10]

列表的遍历

a = [10,20,30,40]
for obj in a:
  print(obj)

列表排序

修改原列表的排序

a = [20, 10, 30, 40]
a.sort()  # 默认是升序排列 [10, 20, 30, 40]
a.sort(reverse=True)  # 降序排列 [40, 30, 20, 10]
import random
a = [20, 10, 30, 40]
random.shuffle(a)  #打乱顺序 [20, 40, 30, 10]

新建列表的排序

我们也可以通过内置函数 sorted() 进行排序,这个方法返回新列表,不对原列表做修改。

a = [20, 10, 30, 40]
b = sorted(a)

print(id(a), id(b))

通过上面操作,我们可以看出,生成的列表对象 b 和 c 都是完全新的列表对象。

max 和 min

用于返回列表中最大和最小值。

a = [3, 10, 20, 15, 9]
max(a) # 20
min(a) # 3

sum

对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。

a = [3,10,20,15,9]
sum(a) # 57

二维列表相关操作

一维列表可以帮助我们存储一维、线性的数据。

二维列表可以帮助我们存储二维、表格的数据。例如下表的数据:

姓名年龄薪资城市
高小一1830000北京
高小二1920000上海
高小五2010000深圳
a = [
  ["高小一",18,30000,"北京"],
  ["高小二",19,20000,"上海"],
  ["高小五",20,10000,"深圳"],
]
print(a[1][0],a[1][1],a[1][2])  # 高小二 19 20000
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7