社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python列表操作(Python自动化测试入门3)

铁骨铮铮女子汉 • 3 年前 • 193 次点击  

上两篇介绍了Python的基础语法、数值类型、运算以及字符串操作,今天会总结一下列表操作,列表的增、删、改、查等操作。

Python列表操作

一、表达方式

先简单说一下列表的表达方式

  1. [] 定义,数据之间使用,分隔(可以是任何类型的数据)
  2. 有序、数据可重复
  3. 通过下标索引,从0开始
  4. 使用最频繁的数据类型

二、空列表和非空列表

  1. 空列表:列表里什么都没有,举例 student = []
  2. 非空列表:即列表里有字符串、数字等,举例
    now_stu = [1,'珊珊','xiaoming',[1,2,3],True]

三、增删改查

3.1 新增

3.1.1 append

  1. 格式:列表.append(值),比如 now_stu.append('吃货')
  2. 每次只能新增一个,并且是新增到列表末尾
    如下所示:
now_stu = [1,'珊珊','xiaoming',[1,2,3],True]
now_stu.append('吃货')
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

[1, '珊珊', 'xiaoming', [1, 2, 3], True, '吃货']
  • 1
  • 1

3.1.2 insert

insert是在列表某个位置插入某个数据
比如:将‘吃货’插入到列表中下标为1的位置

now_stu = [1,'珊珊','xiaoming',[1,2,3],True]
now_stu.insert(1,'吃货')
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

[1, '吃货', '珊珊', 'xiaoming', [1, 2, 3], True]
  • 1
  • 1

3.1.3 extend

extend是指将列表2的成员,追加到列表1的成员当中,格式是 列表1.extend(列表2)
如下所示:是将列表now_stus的数据追加到now_stu中

now_stu = [1,'珊珊','xiaoming',[1,2,3],True]
now_stus = ['吃货',18]
now_stu.extend(now_stus)
print(now_stu)
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

运行结果:

[1, '珊珊', 'xiaoming', [1, 2, 3], True, '吃货', 18]
  • 1
  • 1

3.2 删除

3.2.1 del

格式: del 列表[索引] ,是指删除列表中某个索引的数据
如下所示:

now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
del now_stu[-1]
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

[123, '珊珊', 'xiaoming', [1, 2, 3]]
  • 1
  • 1

3.2.2 remove

格式: 列表.remove(数据) ,是指删除列表当中 第一次 出现的指定数据
如下所示:列表中存在两个相同的数据 123,用remove后删除了第一次出现的 123

now_stu = [123,'珊珊','xiaoming',[1,2,3],True,123]
now_stu.remove(123)
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

['珊珊', 'xiaoming', [1, 2, 3], True, 123]
  • 1
  • 1

3.2.3 pop

格式: 列表.pop( ) ,是指删除列表末尾数据
如下所示:

now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
now_stu.pop()
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

[123, '珊珊', 'xiaoming', [1,


    
 2, 3]]
  • 1
  • 1

3.2.4 clear

格式: 列表.clear( ) ,是指清空列表
如下所示:

now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
now_stu.clear()
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

[]
  • 1
  • 1

3.3 修改

格式: 列表[index] = new值

now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
index = now_stu.index(123)
now_stu[index] = 'xiaoxiao'
print(now_stu)
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

运行结果:

['xiaoxiao', '珊珊', 'xiaoming', [1, 2, 3], True]
  • 1
  • 1

3.4 查询

  1. 列表数据获取-字符串切片
    例如:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
print(now_stu[-2][1])
print(now_stu[:-3])
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

2
[123, '珊珊']
  • 1
  • 2
  • 1
  • 2
  1. 读取数据
    (1) 通过索引获取,格式: 列表[索引]
    例如:
now_stu = [123,'珊珊','xiaoming',[1


    
,2,3],True]
print(now_stu[3])
  • 1
  • 2
  • 1
  • 2

运行结果:

[1, 2, 3]
  • 1
  • 1

(2)获取数据第一次出现的索引,格式: 列表.index(数据)
例如:

now_stu = [123,'珊珊','xiaoming',[1,2,3],True,'xiaoming']
print(now_stu.index('xiaoming'))
  • 1
  • 2
  • 1
  • 2

运行结果:

2
  • 1
  • 1

四、获取长度

获取列表长度 ,格式: len(列表)
如下所示:

now_stu = [123,'珊珊','xiaoming',[1,2,3],True,'xiaoming']
print(len(now_stu))
  • 1
  • 2
  • 1
  • 2

运行结果:

6
  • 1
  • 1

注:列表长度是指列表中包含有几条数据,从1开始数,而不是下标0开始

五、成员运算符

  1. 数据 in 列表,表示数据是列表的成员之一。结果为True/False。格式: 成员 in 集体(列表/字符串)
  2. 数据 not in 列表,表示数据不是列表的成员之一。结果也为True/False。格式: 成员 not in 集体(列表/字符串)
    如下所示:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True,'xiaoming']
print(12 in now_stu)
print('wo' not in now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

False
True
  • 1
  • 2
  • 1
  • 2

六、列表排序与反转

6.1 升序

格式: 列表.sort() 升序排列,直接列表进行修改
排列的依据是ASCII码值
如下所示:

now_stu = ['珊珊',


    
'xiaoming','wo','123']
now_stu.sort()
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

['123', 'wo', 'xiaoming', '珊珊']
  • 1
  • 1

6.2 降序

格式: 列表.sort(reverse = True) ,降序排列
如下所示:

now_stu = ['珊珊','xiaoming','wo','123']
now_stu.sort(reverse=True)
print(now_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

['珊珊', 'xiaoming', 'wo', '123']
  • 1
  • 1

6.3 反转/倒序

格式: 列表.reverse() ,列表的反转/倒序
如下所示:

# 方法一 直接让原列表反转
now_stu = ['珊珊','xiaoming','wo','123']
now_stu.reverse()
print(now_stu)

# 方法二 原列表不变,身生成新的列表和原列表顺序相反
now_stu = ['珊珊','xiaoming','wo','123']
new_stu = now_stu[::-1]
print(new_stu)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行结果:

['123', 'wo', 'xiaoming', '珊珊']
['123', 'wo', 'xiaoming', '珊珊']
  • 1
  • 2
  • 1
  • 2

6.4 sorted

系统自带的,不会对列表本身做修改,生成一个新的列表,格式: sorted()
如下所示:

now_stu = ['珊珊','xiaoming','wo','123']
new_stu = sorted(now_stu,reverse=True)
print(new_stu)
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

运行结果:

['珊珊', 'xiaoming', 'wo', '123']
  • 1
  • 1

七、总结

列表操作的内容就记录到这里了,下一篇会讲到字典,给大家附上一张图简单总结一下。
在这里插入图片描述

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/74756
 
193 次点击