零、创建列表
- 创建普通列表 普通列表就是列表内包含的数据的类型是一致的(比如说数据类型都是整型)。创建方式如下:
# 列表中包含的数据的类型都是整型
nums=[0,1,2,3,4,5]
# 列表中包含的数据的类型都是字符串
names=['张三','李四','王五','赵六']
复制代码
- 创建混合列表 混合列表就是列表内包含的数据的类型不同(比如包含的数据的类型即包含整型又包含字符串).。创建方式如下:
# 列表中包含的数据的类型有字符串、整型还有浮点型
message=['你好',100,'呵呵哒','北京市朝阳区',90,7.1]
复制代码
- 创建空列表 空列表就是不包含任何数据的列表。创建方式如下:
names=[]
复制代码
一、获取列表元素
- 获取单个元素 获取单个元素只需要指定要获取元素的下标索引即可,语法如下:
list[下标索引]
复制代码
我们通过一个列子来看一下
# 定义一个姓名例表
names=['张三','李四','王五','赵六']
# 访问第三个元素
name=names[2]
# 将打印出 “王五”
print(name)
复制代码
注意:列表的下标索引是从 0 开始的,因此列表中第一个元素的下标索引是0,第二个元素的下标索引是1,第n个元素的小标索引是n-1
- 获取部分元素 在某些情况下需要获取列表的部分元素,语法如下:
list[起始下标索引:截至下标索引]
复制代码
通过一个例子来看一下
# 定义一个姓名例表
names=['张三','李四','王五','赵六']
# 访问第二个到第三个元素
name=names[1:3]
# 将打印出 “李四、王五”
print(name)
复制代码
注意:获取部分列表元素的时候,不会取到截至下标的元素。例如上例中截至下标为3,但是不会取出3这个下标对应的元素
二、修改、添加、删除列表元素
- 修改 修改列表元素只需指定要修改的元素的下标,并将新值赋给该下标的元素,语法如下:
list[下标]=新值
复制代码
通过例子来看一下
# 定义一个姓名列表
names=['张三','李四','王五','赵六']
# 输出第2个元素
# 将输出李四
print(names[1])
# 将第2个元素修改为田七
names[1]='田七'
# 再次打印第2个元素
# 打印结果变为田七
print(names[1])
复制代码
- 添加
- 单个添加 单个添加列表元素只需要调用 append() 函数,语法如下:
list.append(新增元素)
复制代码
通过例子来看一下使用方法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 在列表中添加一个新的姓名:田七
names.append('田七')
# 打印列表,列表末尾将会增加一个姓名:田七
print(names)
复制代码
- 批量添加 批量添加列表元素时如果通过循环的方式调用append函数的话代码会很多,而且性能也不好,因此python增加了 extend 函数。通过此函数可以实现批量添加元素,以及合并两个列表。语法如下:
list.extend(批量添加的元素/另一个列表)
复制代码
我们通过一个例子来看一下
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 添加3个姓名:田七、孙八、钱九
names.extend(['田七','孙八','钱九'])
# 打印姓名列表,列表末尾将会增加一个姓名:田七、孙八、钱九
print(names)
# 定义一个新的姓名列表
new_names=['jack','tom','ice']
# 将新的姓名列表添加到姓名列表中
names.extend(new_names)
# 打印姓名列表,列表末尾将会增加一个姓名:jack、tom、ice
print(names)
复制代码
- 指定位置添加 前面的两种方法只能将新元素添加到列表的末尾,但在某些情况下需要将新元素添加到指定位置。这种情况下我们可以使用 insert 函数。语法如下:
list.insert(插入位置的下标,新元素)
复制代码
通过例子看一下使用方法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 在第2个位置插入姓名:田七
names.insert(1,'田七')
# 打印列表,列表第2个位置将会增加一个姓名:田七
print(names)
复制代码
- 删除 删除列表元素的方法有三种: del、remove、pop
- del del删除方法只需要指定要删除元素的下标索引,语法如下:
del list[要删除元素的下标索引]
复制代码
我们通过代码看一下用法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 删除第二个元素
del names[1]
# 打印姓名列表,李四不在列表中
print(names)
复制代码
- remove 当我们不知道元素在列表中的位置或者不关心元素位置时,可以使用 remove 函数。语法如下:
list.remove(要删除的元素)
复制代码
下面通过例子来看一下使用方法
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 删除李四
names.remove('李四')
# 打印姓名列表,李四不在列表中
print(names)
复制代码
注意:如果列表中存在多个相同的元素内容,那么在调用remove函数时,只会删除第一个匹配的元素内容。例如:
names=['张三','李四','王五','李四']
names.remove('李四')
# 打印姓名列表,原本在位置2的李四不存在了,但是列表末尾的李四还在
print(names)
复制代码
- pop 当需要删除列表元素并返回删除元素的值的时候,我们就需要用到了 pop 函数,语法如下:
list.pop([删除元素下标索引])
复制代码
我们通过代码看一下用法:
# 定义姓名列表
names=['张三','李四','王五','赵六']
# 删除第2个元素,并返回李四
names.pop(1)
# 打印姓名列表,李四不在列表中,
print(names)
复制代码
注意1:当pop函数不指定删除元素下标索引的时候,默认删除列表最后一个元素
注意2:删除元素的下标索引可以为负数,例如-1,表示删除列表最后一个元素,-2表示删除列表倒数第二个元素
三、列表其他函数/方法
列表还有其他的一些函数/方法,我们这里通过表格的方式展示出来。
函数/方法 | 说明 |
---|---|
len(list) | 返回列表长度 |
max(list) | 返回列表中最大值 |
min(list) | 返回列表中最小值 |
list(元祖) | 将元祖转换为列表 |
list.count(元素) | 返回指定元素在列表中的出现的次数 |
list.index(元素) | 从列表中找出指定值第一个匹配项的索引位置 |
list.reverse() | 反向列表中元素 |
list.sort() | 列表排序 |
list.clear() | 清除列表内容 |
list.copy() | 复制列表 |
注意:我将会在后面写一个文章专门讲解列表排序(list.sort()),同时文章我也会发布在公众号“朱老师IT小课堂”
四、小结
本节讲解了列表的主要操作,这些操作大家要记牢
五、作业
- 一个班级有10名学生,创建这个10名学生的名单,并对这十名学生进行点名。
- 班级又增加了两名学生,将这两名学生增加到名单中。
- 又新来一名学生,将这名学生怎加到位置3。
- 有一名学生转学了,请更新名单。