Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作
目录
- Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作
- 一、创建列表
- 1、通过赋值创建列表
- 2、使用 list() 函数创建列表
- 3、使用 copy() 方法复制列表
- 4、合并列表
- 二、列表的基本操作
- 1、索引
- 2、切片
- 3、重复
- 4、连接
- 5、判断一个元素是否存在
- 6、迭代(使用 for 循环遍历)
- 7、列表的嵌套
- 三、列表的增、删、改
- 1、更改列表项
- (1)通过索引号来更改指定列表元素
- (2)通过切片来更改列表元素
- 2、增加列表项
- (1)使用 append() 方法追加列表元素
- (2)使用 insert() 方法追加列表元素
- (3)使用 extend() 方法追加列表元素
- 3、删除列表项
- (1)使用 remove() 方法删除列表元素:根据元素值删除
- (2)使用 pop() 方法删除列表元素:根据索引删除
- (3)使用 del 关键字删除列表或指定的列表元素:根据索引或范围删除
- (4)使用 clear() 删除列表元素
列表由一系列特定顺序排列的元素组成,是 Python 中内置的可变序列。列表的所有元素都放在一对中括号([])中,相邻的两个元素之间用逗号(,)分割。可以将整数、字符串、列表、元组等任何类型的内容放入列表中。在同一个列表中,元素可以重复,元素的类型可以不同,因为它们之间没有任何关系。
一、创建列表
1、通过赋值创建列表
语法格式格式如下:
listname = [element1, element2, element3, ... , elementn]
说明:
(1)listname:表示列表的名称
(2)element1, element2, element3, ... , elementn:表示列表中的元素
例如:
list1=[2,3,5,7,11,13,17,19,23]
list2=["Zhengzhou","Xinxiang","Luoyang","Kaifeng","Anyang"]
list3=["20230214001","刘鹏","男","2003-12-3","团员"]
list4=["001","Python从入门到精通","清华大学出版社",58.2]
list5=["经济与管理学院","机电学院","计算机学院","软件学院","文法学院","艺术学院"]
print(list1)
print(list2)
print(list3)
print(list4)
print(list5)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 3, 5, 7, 11, 13, 17, 19, 23]
['Zhengzhou', 'Xinxiang', 'Luoyang', 'Kaifeng', 'Anyang']
['20230214001', '刘鹏', '男', '2003-12-3', '团员']
['001', 'Python从入门到精通', '清华大学出版社', 58.2]
['经济与管理学院', '机电学院', '计算机学院', '软件学院', '文法学院', '艺术学院']
2、使用 list() 函数创建列表
语法格式如下:
列表名 = list() # 创建空列表
列表名 = list(列表名) # 使用 list() 函数将列表传递至新列表
例如:
list1=[2,3,5,7,11,13,17,19,23]
list2 = list() # 创建空列表
list3 = list1 # list1和list3指向同一个地址,如果修改一个列表的元素值,另一个列表也被修改
list4 = list(list1)
list5 = list1[:] # 将列表list1中的所有元素赋值给list5
print(list2)
del list1[2:6]
print(list3)
print(list4)
print(list5)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[]
[2, 3, 17, 19, 23]
[2, 3, 5, 7, 11, 13, 17, 19, 23]
[2, 3, 5, 7, 11, 13, 17, 19, 23]
3、使用 copy() 方法复制列表
语法格式如下:
listname = 列表名.copy() # 将列表数据复制给新列表
例如:
list1=[2,3,5,7,11,13,17,19,23]
list2 = list1.copy()
print(list2)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 3, 5, 7, 11, 13, 17, 19, 23]
4、合并列表
语法格式如下:
listname = 列表1 + 列表2 # 将两个列表数据合并至新的列表
例如:
list1 = ["张三","李四","王五","赵六"]
list2 = ["Tom","Jerry","Kate","Rose"]
list3 = list1 + list2
print(list3)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['张三', '李四', '王五', '赵六', 'Tom', 'Jerry', 'Kate', 'Rose']
列表操作的常用方法如下表所示:
方法 | 描述 |
---|---|
append() | 在列表的末尾添加一个元素 |
clear() | 删除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素数量 |
len() | 返回列表的长度 |
extend() | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
index() | 返回具有指定值的第一个元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 删除指定位置的元素 |
remove() | 删除具有指定值的项目 |
reverse() | 颠倒列表的顺序 |
sort() | 对列表进行排序 |
二、列表的基本操作
1、索引
语法格式如下:
listname[index]
说明:
(1)index:索引编号,第1项编号为0
(2)正向索引:从左向右,第一项的索引为0,第二项的索引为1,依次类推。
(3)逆向索引:从右向左,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。
例如:
list1 = ["张三","李四","王五","赵六"]
print(list1[0]) # 第1个元素
print(list1[1]) # 第2个元素
print(list1[-1]) # 最后1个元素运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
张三
李四
赵六
2、切片
语法格式如下:
listname[start_index: end_index: step]
说明:
(1)在中括号中以冒号分隔索引值。
(2)start_index:表示要截取的开始索引值。该参数可以省略,表示从第一个字符开始。
(3)end_index:表示要截取的结束索引值。该参数可以省略,表示截取到最后一个字符结束。
(4)step:表示切片步长,该参数可以省略,默认值为 1。
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
print(list1[:]) # 打印所有元素
print(list1[::2]) # 间隔打印所有元素
print(list1[1:]) # 打印第1个元素之后的元素
print(list1[:-1]) # 打印最后1个元素之前的元素
print(list1[::-1]) # 倒序输出运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', '新乡市', '洛阳市', '开封市', '安阳市', '漯河市', '南阳市']
['郑州市', '洛阳市', '安阳市', '南阳市']
['新乡市', '洛阳市', '开封市', '安阳市', '漯河市', '南阳市']
['郑州市', '新乡市', '洛阳市', '开封市', '安阳市', '漯河市']
['南阳市', '漯河市', '安阳市', '开封市', '洛阳市', '新乡市', '郑州市']
3、重复
语法格式如下:
listname * n
例如:
list1 = ["郑州市","新乡市","洛阳市"]
str1 = "Hello " # 字符串也可以看作是一个列表
str2 = "="
print(list1 * 3)
print(str1 * 3)
print(str2 * 30)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', '新乡市', '洛阳市', '郑州市', '新乡市', '洛阳市', '郑州市', '新乡市', '洛阳市']
Hello Hello Hello
==============================
4、连接
语法格式如下:
列表1 + 列表2
例如:
list1 = ["郑州市","新乡市","洛阳市"]
list2 = ["Washington","NewYork","Boston"]
str1 = "Henan "
str2 = "Xinxiang,"
str3 = "Henan Institute of Science and Technology."
print(list1 + list2)
print(str1 + str2 + str3)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', '新乡市', '洛阳市', 'Washington', 'NewYork', 'Boston']
Henan Xinxiang,Henan Institute of Science and Technology.
5、判断一个元素是否存在
语法格式如下:
element in listname
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
print("郑州市" in list1)
print("信阳市" in list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
True
False
6、迭代(使用 for 循环遍历)
语法格式如下:
for i in listname:print(i) # 遍历输出每个元素
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
for i in list1:print(i)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
郑州市
新乡市
洛阳市
开封市
安阳市
漯河市
南阳市
7、列表的嵌套
例如:
list1 = [["郑州市","新乡市","洛阳市"],["张三","李四","王五"],[20,21,22,19]]
# 索引
print(list1[1]) # list1中的第2个元素(仍然是一个列表)
print(list1[1][1]) # list1中的第2个元素的第2个元素
# 切片
print(list1[:][1]) # list1中的第2个元素
print(list1[2][1:]) # list1中的第3个元素中的第2个元素之后的所有元素运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['张三', '李四', '王五']
李四
['张三', '李四', '王五']
[21, 22, 19]
三、列表的增、删、改
1、更改列表项
(1)通过索引号来更改指定列表元素
语法格式如下:
listname[index] = 值
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
list1[1] = "Xinxiang City"
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', 'Xinxiang City', '洛阳市', '开封市', '安阳市', '漯河市', '南阳市']
(2)通过切片来更改列表元素
listname[索引范围] = 值
说明:
(1)用后面的值替换索引范围内的列表项(列表项的数量不一定相等)
(2)值的形式可以有如下几种:
listname[:3] = 2,4,8
listname[:3] = [2,4,8]
listname[:3] =(2,4,8)
例如:
list1 = [2,4,6,8,10,12,14,16,18]
list1[1:4] = 11,22,33
print(list1)
list1[1:3] = [11,12,13] # 列表项的个数与切片的列表项个数不相等
print(list1)
list1[1:4] = (20,21,22,23,24,25)
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 11, 22, 33, 10, 12, 14, 16, 18]
[2, 11, 12, 13, 33, 10, 12, 14, 16, 18]
[2, 20, 21, 22, 23, 24, 25, 33, 10, 12, 14, 16, 18]
2、增加列表项
(1)使用 append() 方法追加列表元素
使用 append() 方法默认是在列表的末尾增加元素,语法格式如下:
listname.append(值)
例如:
list1 = [2,4,6,8,10,12,14,16,18]
list1.append(100)
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10, 12, 14, 16, 18, 100]
(2)使用 insert() 方法追加列表元素
insert() 方法可以在列表的指定位置增加元素,增加后原位置及其后面的元素自动后移,语法格式如下:
listname.insert(index, 值)
例如:
list1 = [2,4,6,8,10,12,14,16,18]
list1.insert(3,100)
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 100, 8, 10, 12, 14, 16, 18]
(3)使用 extend() 方法追加列表元素
extend() 方法可以将另一个列表中的所有值,一次性添加在列表的末尾。语法格式如下:
listname.extend(序列)
例如:
list1 = [2,4,6,8,10]
list2 = [11,13,15]
list3 = ['a','b','c']
list1.extend(list2)
list2.extend(['a','b','c'])
print(list1)
print(list2)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10, 11, 13, 15]
[11, 13, 15, 'a', 'b', 'c']
3、删除列表项
(1)使用 remove() 方法删除列表元素:根据元素值删除
remove() 方法用于删除指定的元素。当删除的目标值元素有多个时,每次执行只能删除一个元素,且删除的是索引位置最小的那个。语法格式如下:
listname.remove(元素)
例如:
list1 = [2,4,6,8,10,12,14,16,10]
list1.remove(6)
print(list1)
list1.remove(10) # 删除第1个元素值为10的元素
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 8, 10, 12, 14, 16, 10]
[2, 4, 8, 12, 14, 16, 10]
(2)使用 pop() 方法删除列表元素:根据索引删除
pop() 方法用于删除指定索引位置的元素。如果不指定参数,则删除末尾元素。语法格式如下:
listname.pop()
listname.pop(index)
例如:
list1 = [2,4,6,8,10,12,14,16]
list2 = [1,3,5,7,9,11,13]
list1.pop()
print(list1)
list1.pop()
print(list1)
list1.pop()
print(list1)
list2.pop(3)
print(list2)
list2.pop(3)
print(list2)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10, 12, 14]
[2, 4, 6, 8, 10, 12]
[2, 4, 6, 8, 10]
[1, 3, 5, 9, 11, 13]
[1, 3, 5, 11, 13]
(3)使用 del 关键字删除列表或指定的列表元素:根据索引或范围删除
语法格式如下:
del listname # 删除整个列表(从内存中删除)
del listname[index] # 删除指定索引位置的列表元素
del listname[索引范围] # 删除指定索引范围内的列表元素
例如:
A)删除整个列表:
list1 = [2,4,6,8,10,12,14,16]
del list1
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
Traceback (most recent call last):File "C:\Python\Python38\First.py", line 3, in <module>print(list1)
NameError: name 'list1' is not defined
B)删除指定索引位置的列表元素
list1 = [2,4,6,8,10,12,14,16]
del list1[3]
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 10, 12, 14, 16]
C)删除指定索引范围内的列表元素
list1 = [2,4,6,8,10,12,14,16]
del list1[3:]
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6]
(4)使用 clear() 删除列表元素
clear() 方法可以清除列表中所有元素(清除后列表称为空列表)。语法格式如下:
listname.clear()
例如:
list1 = [2,4,6,8,10,12,14,16]
list1.clear()
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[]