Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作

Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作

列表由一系列特定顺序排列的元素组成,是 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项编号为02)正向索引:从左向右,第一项的索引为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 =====================
[]

猜你喜欢

转载自blog.csdn.net/weixin_44377973/article/details/132118833
今日推荐