一、列表类型(重点)
列表在运维开发中,主要负责大批量数据的存储!!!
比如存储所有学生信息,存储所有的商品信息,存储所有的日志文件信息等等
1、为什么需要列表
思考:有一个人的姓名(TOM)怎么书写存储程序?
答:变量。
2、列表的定义
列表序列名称 = [列表中的元素1, 列表中的元素2, 列表中的元素3, ...]
案例演示:定义一个列表,用于保存苹果、香蕉以及菠萝
list1 = ['apple', 'banana', 'pineapple']
# list列表类型支持直接打印
print(list1)
# 打印列表的数据类型
print(type(list1)) # <class 'list'>
注意:列表可以一次存储多个数据且可以为不同的数据类型
3、列表的相关操作
列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:
增、删、改、查。
☆ 查操作
列表在计算机中的底层存储形式,列表和字符串一样,在计算机内存中都占用一段连续的内存地址,我们向访问列表中的每个元素,都可以通过 "索引下标" 的方式进行获取。

如果我们想获取列表中的某个元素,非常简单,直接使用索引下标:
list1 = ['apple', 'banana', 'pineapple']
# 获取列表中的banana
print(list1[1])
查操作的相关方法:
| 编号 | 函数 | 作用 |
| 1 | len() | 返回列表中元素的个数 |
| 2 | in | 判断指定数据在某个列表序列,如果在返回True,否则返回False |
举个栗子:
# 1、返回列表中元素的个数
list1 = ['apple', 'banana', 'pineapple']
print(len(list1))
# 2、in方法(黑名单系统)
list2 = ['192.168.1.15', '10.1.1.100', '172.35.46.128']
if '10.1.1.100' in list2:
print('黑名单IP,禁止访问')
else:
print('正常IP,访问站点信息')
☆ 增操作
| 编号 | 函数 | 作用 |
| 1 | append() | 增加指定数据到列表中 |
☆ append()
append() :在列表的尾部追加元素
names = ['孙悟空', '唐僧', '猪八戒']
# 在列表的尾部追加一个元素"沙僧"
names.append('沙僧')
# 打印列表
print(names)
注意:列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据。
☆ 删操作
| 编号 | 函数 | 作用 |
| 1 | del | 根据索引移除指定列表元素 |
| 2 | remove() | 移除列表中某个数据的第一个匹配项。 |
☆ remove()方法
作用:删除匹配的元素
fruit = ['apple', 'banana', 'pineapple']
fruit.remove('banana')
print(fruit)
☆ 改操作
| 编号 | 函数 | 作用 |
| 1 | 列表[索引] = 修改后的值 | 修改列表中的某个元素 |
☆ 翻转与排序操作
| 编号 | 函数 | 作用 |
| 1 | reverse() | 将数据序列进行倒叙排列(翻转效果) |
| 2 | sort() | 对列表序列进行排序,也可以添加参数reverse=True实现从大到小 |
list1 = ['貂蝉', '大乔', '小乔', '八戒']
# 修改列表中的元素
list1[3] = '周瑜'
print(list1)
list2 = [1, 2, 3, 4, 5, 6]
list2.reverse()
print(list2)
list3 = [10, 50, 20, 30, 1]
list3.sort() # 升序(从小到大)
# 或
# list3.sort(reverse=True) # 降序(从大到小)
print(list3)
小结:
列表.reverse() 作用?列表进行翻转,还可以使用切片实现!
列表.sort()作用?升序排列
4、列表的循环遍历
什么是循环遍历?答:循环遍历就是使用while或for循环对列表中的每个数据进行打印输出。
for循环(个人比较推荐):
list1 = ['貂蝉', '大乔', '小乔']
for i in list1:
print(i)
容器的遍历都可以使用(for)循环结构。
5、随机点名程序开发
<em>'''</em><em>点名程序</em><em>1. 定义一组数据(所有点名人员名单)</em><em>2. 引入random模块,用于生成随机数 => 相当于列表的索引下标</em><em>3. 根据索引下标抽取用户信息</em><em>'''</em><em># 导入模块</em>
import random
<em># 定义一组数据</em>
students = ['Tom', 'Rose', 'Jennifer', 'Jack']
<em># 获取一个随机数 => 不能超过students对应的索引下标</em><em># 最小值 = 0;最大值 = len(studnets) - 1;产生一个0 ~ 3之间的随机整数</em>
index = random.randint(0, len(students) - 1)
<em># 打印点到名字的同学</em>
print(students[index])