列表是python最常用的数据存储类型,它可以存储大量的数据。列表具有索引的概念,可以通过索引操作列表中的数据。列表中的数据可以进行添加、删除、修改、查询等操作。列表中的是有序的和可重复的,可以存储任何类型的数据。其实列表这种数据存储数据类型在其他语言中也是有的,Java c/c++语言中被叫做数组。两者很像,但是两者有着本质的区别,这个我们在后面的引用部分再具体说明。
创建一个列表其实很简单,只需把逗号分隔的不同数据项使用方括号括起来就可以了。
list1 = [] # 空列表
list2 = list() # 空列表
list3 = [1, 2, 'a',]
一、列表的基本操作
1.1 获取/修改列表中的值
列表具有索引的概念,所以我们从列表中取值/修改可以用索引进行,需要注意的是:列表的索引是从0开始的,最大索引为列表元素个数减一,使用索引不能超出最大索引,否则会报错。具体方法就是:
取值:列表名[索引]:
修改值:列表名[索引] = 值
list1 = [1, 2, 'a']
print('list1[0]:',list1[0]) # 取值
print(list1) # 显示列表中所有的值
list1[2] = 3 # 修改索引为2的值
print(list1) # 显示列表中所有的值
当然我们也可以使用循环遍历我们的数组,再通过判断来从列表中取出我们需要的值:
# 打印列表中的偶数
list2 = [1, 2, 4, 4, 10, 6, 9, 8, 9, 10]
for i in list2:
if i % 2 == 0:
print('%d是偶数' %i)
1.2 添加列表元素
我们可以直接使用索引修改列表对应位置的元素,我们可以使用append、extend、insert函数为列表添加元素。
- append(data):在列表的末尾添加数据
list3 = [1, 2, 3, 4, 5, 6]
# 添加元素
list3.append(7)
print("list3:",list3)
# 添加的元素也是列表
list3.append([7, 8, 9])
print("list3:",list3)
- 使用extend()是在列表的末尾添加参数对象中的所有数据:(其实后面我们学的元组,集合都可以用这种方法,将其中的元素逐一添加到列表中)
list4 = [1,2,3]
list4.extend([4,5,6])
print(list4)
list4.extend('abc')
print(list4)
- insert(idx,data):在列表的指定位置插入数据,如果索引位置超过列表数据总量,数据将插入到列表末尾。idx:插入数据的索引位置,data:加入列表中的数据
list5 = [1,2,3]
list5.insert(0,"csx")
print(list5)
1.3、删除列表元素
- 可以使用 del 来删除列表的的元素,它根据下标删除指定元素,其实它也可以删除整个列表,但是列表不能再使用了,需要重新定义列表:(这里的删除列表,只是删除了引用,通知cpu这块地方这个地方可以被占用了,而不是直接释放内存空间)
list6 = ['a','b','c']
print(list6)
del list6[2] # 删除指定元素
print(list6)
del list6 # 删除列表
print(list6)
扫描二维码关注公众号,回复:
5004039 查看本文章
- 使用pop删除指定位置元素,删除同时会将删除元素返回:
list7 = ['a','b','c','d','e','f']
print(list7)
del_date = list7.pop() # 从末尾删除元素
print(del_date )
del_date2 = list7.pop(2) # 删除索引为2的元素
print(del_date2 )
print(list7)
- remove删除首个符合条件的元素,注意不是使用索引删除元素,如果指定要删除的元素不存在于列表中则抛异常:
list8 = [1,2,2,3,4,5,6]
list8.remove(2)
print("list8:",list8)
list8.remove(7)
print("list8:",list8)
二、 列表的其他操作
2.1、列表的运算
表达式 | 结果 | 说明 |
---|---|---|
[1, 2, 3] +[4, 5, 6] | [1, 2, 3, 4, 5, 6] | 将两个列表相加 |
[1] * 4 | [1,1,1,1] | 将列表中的元素重复n遍 |
2.2、列表的截取:
list1 = [1, 2, 3, 4, 5, 6, 7]
表达式 | 结果 | 说明 |
---|---|---|
list1[-2] | 6 | 获取倒数第2个元素 |
list1[1:3] | [2, 3] | 获取索引为1到3(左闭右开,不包含索引为3)的元素 |
list1[1:6:2] | [2, 4, 6] | 获取索引为1到6(不包含索引为6)的元素,每隔两步取一个 |
list1[:2:-2] | [7, 5] | 从后面开始取,步长为2 |
2.3、列表的其他函数和方法:
函数 | 描述 | 实例 |
---|---|---|
len(list) | 返回列表元素个数 | list = [1,2,3,4,5] len(list) 输出结果:5 |
list(seq) | 将元组转换为列表 | tuple = (1, 2, 3,4) list1 = list(tuple) print (type(list1)) 输出结果:<class ‘list’> |
min(list) | 返回列表元素最小值 | list = [1,2,3,4,5] min(list) 输出结果:1 |
max(list) | 返回列表元素最大值 | list = [1,2,3,4,5] max(list) 输出结果:5 |
list.count(obj) | 统计某个元素在列表中出现的次数 | list = [1,2,1,4,6,1,4,1] print(list.count(1)) 输出结果:4 |
list.sort([func]) | 对原列表进行排序,如果指定参数, 则使用比较函数指定的比较函数参数: func – 可选参数, 如果指定了 该参数会使用该参数的方法进行排序。 |
list = [1,4,5,3,2 list.sort() 输出结果:[1,2,3,4,5] list.sort(reverse=True) # 由大到小排序 |