前言
对于Python中常见的数据结构而言,序列可以说是与映射、集合并称Python的三类数据结构主要容器。
今天就来先说说序列中的列表及其列表的特定操作~
一、列表
最常用的Python数据类型,将若干数据作为元素的序列放置在一对中括号中,元素之间以逗号分隔。其中的元素可以用任意类型的数据构成,同意列表中元素可以各不相同,且允许重复,以及修改。
二、列表的操作
1.列表创建
(1)一维列表创建
list1 = [3,14.4,-2]
list2 = ['train','bus']
list3 = ['a',200,'b',233]
list4 = []
list5 = list()
(2)二维列表创建
list_simple = [['a','IBM'],['ad','CHINA']]
2.列表访问(索引)
索引从0开始,从左向右逐渐变大;索引从-1开始,从右到左逐渐变小
(1)一维列表访问
list1[2]
注意:索引值不能超出列表范围
(2)二维列表访问
list[0][1]
list[0][-1]
(3)index()
index()方法用于寻找与value值匹配的第一个元素位置,如果没有找到匹配项,则会发生异常。
搜索范围为[start,stop)
list.index(value[,start=0[,stop]])
注:可以利用in运算符测试元素是否在该列表中,来避免index()查找索引位置时由于找不到指定元素而导致的错误。
(4)count()
用于统计元素在列表中出现的次数
list.count()
(5)append()
在列表的尾部追加一个任意数据类型的元素,被追加的元素保持原有的结构类型
list.append()
(6)extend()
在列表的尾部追加另一个列表中的多个值
list.extend()
(7)insert()
将一个元素插入列表指定位置,第一个参数location为索引点,第二的参数value为插入的元素
list.insert(location,value)
3.修改元素
通过重新赋值来更改某个元素,但要注意列表元素的合法索引范围,超出范围会出错。
list = ['train','end','bus','ship']
list[0] = 'bike'
4、列表切片
切片方式1:原列表名[start:end]
list[3:4]
切片方式2:原列表名[start: end :step]
list[3:6:2]
利用切片更改元素
list[2:3] = [10,11]
5、列表删除元素
(1)del命令
可以删除元素,也可以删除整个列表
del list[3] #删除列表中元素
del list #删除整个列表
(2)remove()
移除列表中与某值匹配的第一个元素。如找不到匹配项,则发生异常。
list.remove()
(3)pop()
移除列表中的一个元素(默认最后一个元素)并返回该元素的值。该方法可以指定位置,但是当不在索引范围以内或在空列表中使用该方法会出现异常。
list.pop(location)
(4)clear()
删除列表中所有元素,但保留列表对象。与del的区别在于del命令删除整个列表的时候,列表对象不再保留。
list.clear()
6、列表运算
(1)列表相加(+,+=)
通过相加减生成新列表
(2) 列表相乘(,=)
用数字乘以一个列表,原先列表将会重复
7、列表排序
(1)reverse()
将列表反向存放。列表中可以有不用类型的元素,该方法作用只是反转位置。
list.reverse()
(2)sort()
将列表排序,默认升序排列。可以利用参数reverse调节升序降序,参数key改变字母排序规则。
list.sort(key=,reverse=(Ture/False))
8、列表函数
(1)len()
用于统计列表中的所包含的元素
(2)max()
用于求列表中元素的最大值
(3)min()
用于求列表中元素的最小值
(4)reversed()
将列表反向并返回可迭代的对象,可以利用list()函数联合起来使用得到列表
list(reversed(.....)
(5)sorted()
对列表进行排序并返回新列表
v1 = ['bus','ship','bicycle']
v2 = sorted(v1,key=len,reveerse=True)
9、列表遍历
通过for语句或者while语句循环遍历列表中所有元素
v = ['train','bus','bicycle','car']
for i in v: #第一种方式
print(i,end=' ')
for i in range(len(v)): #第二种方式
print(v[i],end=' ')
i=0
while i<len(v): #第三种方式
print(v[i],end=' ')
i+=1