列表是Python以及其他语言中最常用到的数据结构之一,列表是可以存放任何数据,包括整型,浮点型,字符串,布尔型等等,Python中使用中括号[]来表示列表。
一、列表的创建
列表是由一组任意类型的值组合而成的序列,组成列表的值称为元素,每个元素之间用逗号隔开,具体示例如下:
1. 普通形式
l = [1,2,3,4,5] ---整型列表
l = ["a","b","c"] ---字符串列表
l = [True,False,1>2,5<6]---布尔列表
2. 混合列表
l = [1,2.5,"a",True]
3. 空列表
l = []
此处需注意,列表中的元素是可变的,这意味着可以向列表中添加、修改和删除元素。
此外,还可以通过list()函数创建列表,list()可以将元组或者字符串转化为列表,如例所示。
list1 = list(range(1, 5, 2))
list2 = list("Python")
二、添加元素
添加元素的方法常用的有以下3个
append() #向列表中添加对象,并添加到末尾
extend(可迭代对象) #将可迭代对象中的数据分别添加到列表中,并添加到末尾
insert(下标,对象) #将指定下标位置添加到对象
统一用法是:
变量.函数
变量. append(对象)
例子:讲列表[j]添加到另一个列表[n]中
n = [1, 2, 3, 4, 5]
j = [6, 7, 8, 9, 10]
n.extend(j)
print(n)
运行结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
三、删除元素
clear() #清空列表
pop() #删除下标指定的元素并返回它的值,如果没下标默认删除最后一个
remove(对象) #删除列表中指定对象
四、修改元素
修改列表中的元素非常简单,只需索引需要修改的元素并对其赋新值即可,
l = [1, 2, 3, 4, 5]
l[2]=6
print(l)
输出[1, 2, 6, 4, 5]
五、列表的索引与切片
列表是有下标的,并且下标从0开始,元素是指列表中每个数据,例如l = [5,4,3,2,1] 里面有5个元素,但5的下标为0,1的下标为4,如果反向索引5的下标就是-5,1的下标为-1.
n = [1, 2, 3, 4, 5]
print(n[0]) #输出1
print(n[-5]) #输出1
列表切片,顾名思义就是把1个列表切分为多个列表
变量[起始下标:结束下标] #结束下标取不到
n = [1, 2, 3, 4, 5]
print(l[0:3]) #结束下标3代表到下标为3的元素时终止输出
输出:[1, 2, 3]
对列表进行切片时要注意以下几点:
1、如果下标从0开始可以省略不写,例如 n = l[:4]
2、如果结束下标取的是最后一个元素,可以省略不写,例如 n = l[3:]
3、如果列表中的元素都要,开始和结束下标都可以省略,例如 n = l[:]
4、n = l[:-1] 表示从0开始 - 到数二个元素
六、列表的遍历
可以通while循环或for循环来实现列表的遍历,但while一般都会结合len()函数来配合完成
n = [1, 2, 3, 4, 5]
i = len(n) #读取n列表的长度
j = 0
while j < i:
print(n[j])
j+=1
for就相对简单一点,也是经常要使用到的内容
n = [1, 2, 3, 4, 5]
for j in n:
print(j)
七、列表的进阶操作
1、比较运算符
列表之间进行比较,以相同下标进行比较,从小到大进行比较,如果值相同则比较下一组元素,如果不同直接出结果,例如:
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 下标/索引:0开始
l2 = [2, 3, 4, 6]
print(l < l2) # True
2、逻辑运算符
逻辑运算符and not or 跟比较运算符相似,返回结果都是布尔值(True/False)。
3、拼接运算符
拼接运算符是 + ,常用来进行两个列表拼接,例如:
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 下标/索引:0开始
l2 = [2, 3, 4, 6]
print(l + l2)
输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 3, 4, 6]
4、重复操作符
重复操作符为 * ,后面常跟数字,表示将列表里面的元素重复复制几遍,例如:
l2 = [2, 3, 4, 6]
print(l2*2)
输出:[2, 3, 4, 6, 2, 3, 4, 6]
5、成员关系操作符
成员关系操作符主要有 in和not in,用来判断元素是否在列表中,返回结果是布尔值,例如:
l = [2, 3, 4, 6]
print(5 not in l) #输出“5不在列表l中”这句话的真假
输出:True
6、冒泡排序法
冒泡排序是列表里面比较有名的排序方法之一,例如将列表[5,4,3,2,1]里面的所有元素用冒泡排序的思想进行从小到大排序。
l = [6, 5, 4, 3, 2, 1]
for i in range(1, len(l)): # 1,5 #循环4大次 4
for j in range(len(l) - i):
if l[j] > l[j + 1]:
l[j], l[j + 1] = l[j + 1], l[j]
print(l)