Python中常用的序列结构有列表、元组、字典、集合等。在这里我将详细的总结列表的创建方法、添加元素的方法、删除元素的方法,以及如何将元组、字典等转换为列表。元组、字典转换为列表需要提前对元组、字典的内容有所了解。
Python序列之列表的那些事儿
- 一、列表的创建
- 二、列表元素的添加
- 三、列表元素的删除
- 四、列表元素的查找及访问
- 五、列表元素的更改
- 六、Python列表函数
- 1、求列表长度
- 2、求列表元素的最大值
- 3、求列表元素的最小值
- 八、列表的切片
- 总结梳理
一、列表的创建
可以由数字、大小写英文字母、下划线组成。但是列表名不能以数字开头。
空列表的创建:
a_list=[]
print(a_list)
【运行结果】
二、列表元素的添加
在Python中列表元素的添加有两种方法,分别是使用+运算符和使用append()函数。+运算符并不能算是真正的为列表添加元素,而是创建了一个新的列表再将原列表的内容复制到新列表并在新列表中添加新的元素。这种方法操作速度慢于使用append()函数,在涉及大量元素的时候不推荐使用该方法。第二种方法使用append()函数是真正的在原地修改列表,速度快于使用+运算符。具体的使用方法及运算结果如下:
aList=[3,4,5]
aList=aList+[7]
print(aList)
【运行结果】
使用append()函数
aList=[3,4,5]
aList.append(7)
print(aList)
【运行结果】
三、列表元素的删除
在Python中删除列表元素共有三种方法。第一种是使用del命令删除列表中的指定位置的元素;第二种是使用pop()方法删除指定位置的元素,如果指定的位置超过了列表的长度范围则会抛出异常;第三种是使用remove()方法删除列表中首次出现的指定元素。
del删除时必须要指定在列表中的位置,如果不指定会报错,而pop()可以不指定,默认为删除最后一个元素。同时,pop()可以将删除的元素的值进行返回,但是del不可以返回删除元素的值。具体的使用方法及运算结果如下:
(1)使用del命令删除指定位置元素:
a=[1,2,3,2,5,6,7,8,9]
del a[6]
print('a的值是',a)
【运行结果】
a=[1,2,3,2,5,6,7,8,9]
del a[10]
print('a的值是',a)
【运行结果】
(2)使用pop()方法删除指定位置的元素并返回:
a=[1,2,3,2,5,6,7,8,9]
b=a.pop()
print('删除的是',b)
print('a的值是',a)
【运行结果】
(3)使用remove()方法删除列表中首次出现的指定元素:
a=[1,2,3,2,5,6,7,8,9]
a.remove(2)
print('a的值是',a)
【运行结果】
四、列表元素的查找及访问
在Python的列表中元素的查找有两种方法,第一种是使用in,第二种是使用count()。不同的方法返回的结果是不同的。in的查找方法返回的结果是True或者False。使用方法如下:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b = 3 in a_list #将查找的结果返回到b
print(b) #输出b,查看查找的结果
【运行结果】
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b = 10 in a_list #将查找的结果返回到b
print(b) #输出b,查看查找的结果
【运行结果】
使用count()查找指定的值的时候如果指定的值存在则返回大于0,如果不存在则返回0的数字。使用方法如下:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=a_list.count(8) #将查找的结果返回到b
print(b) #输出b,查看查找的结果
【运行结果】
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=a_list.count(10) #将查找的结果返回到b
print(b) #输出b,查看查找的结果
【运行结果】
列表的元素下标和C语言的数组元素的下标类似,从0开始计数。元素访问可以直接列表名加下标,如下所示。
>>> a=[1,2,3,2,5,6,7,8,9]
>>> a[4]
5
但是当下标超过列表的范围值的时候回抛出异常提示下标越界,访问列表元素也可以使用for循环,如下所示。
>>> a=[1,2,3,2,5,6,7,8,9]
>>> for b in a:
print(b)
1
2
3
2
5
6
7
8
9
我们也可以使用列表对象的index()方法来获取指定元素首次出现的下标。如下所示
>>> a=[1,2,3,2,5,6,7,8,9]
>>> a.index(2)
1
五、列表元素的更改
有时候我们需要对已有的列表的某个元素的值进行更改,在Python列表中元素值的更改可直接对列表元素的指定位置进行赋值以实现更改。具体使用方法及运行结果如下:
a=[1,2,3,2,5,6,7,8,9]
a[3]=4
print('a的值是',a)
【运行结果】
六、Python列表函数
1、求列表长度
在Python中求列表的长度使用len()函数,具体使用方法及运行结果如下:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=len(a_list) #使用len()函数求列表长度,并将长度值返回到b中
print("列表a_list的长度是",+b) #输出b,查看列表长度的值
【运行结果】
2、求列表元素的最大值
在Python中求列表元素的最大值使用max()函数,具体使用方法及运行结果如下:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=max(a_list) #使用len()函数求列表长度,并将长度值返回到b中
print("列表a_list的最大值是",+b) #输出b,查看列表长度的值
【运行结果】
3、求列表元素的最小值
在Python中求列表元素的最小值使用min()函数,具体使用方法及运行结果如下:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=min(a_list) #使用len()函数求列表长度,并将长度值返回到b中
print("列表a_list的最小值是",+b) #输出b,查看列表长度的值
【运行结果】
八、列表的切片
切片是Python中有序序列的重要操作之一,切片使用两个冒号和三个数组完成。Python的切片作用于列表时可以实现对列表元素的增、删、查、改以及元素的替换等。Python切片的结构如下:
全默认切片:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=a_list[::] #对列表切片,切片的开始位置、结束位置、步长全部默认并将切片结果返回到b
print(b) #输出b,查看切片结果
【运行结果】
隔一个元素取一个元素切片:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=a_list[::2] #对列表切片,切片的开始和结束位置为默认,步长为2并将切片结果返回到b
print(b) #输出b,查看切片结果
【运行结果】
步长为负时会从右向左切:
a_list=[1,2,3,4,5,6,7,8,9] #定义列表
b=a_list[::-1] #对列表切片,切片的开始和结束位置为默认,步长为-1并将切片结果返回到b
print(b) #输出b,查看切片结果
【运行结果】
总结梳理
列表具有自动内存管理功能,在删除列表元素时Python会自动对列表内存进行收缩并移动列表元素以保证元素之间没有空隙,