文章目录
python 列表 (list)
一、列表的定义
- 列表是一组有序的一系列数据,列表中的所有元素由一对中括号括起来,元素之间用逗号分隔,可随时添加和删除其中的元素。
- 元素的数据类型可以相同也可以不相同,也可以嵌套另一个序列。
语法:
list=[元素1,元素2,.....,元素n]
注意:
(1)二维数组可以在取值的时候可以这样子写 list[n][m]
(2)list
里面的元素的数据类型也可以不同,也存在list元素中有另一个list列表
(3) list
通过 len(list)
函数来算出,一般结果是元素个数
二、列表的“增删改查”
1、添加元素
(1)append()方法
语法:list.append(obj)
功能描述:在列表中的末尾添加新的对象,
返回情况:该方法无返回值,但会修改原列表。
注意:传参是列表数据时,修改传参列表会修改原列表的数据。
a=[1,2,3,4]
b=[]
b.append(a)
a.append('aa')
print(a) #[1, 2, 3, 4, 'aa']
print(b) # [[1, 2, 3, 4, 'aa']]
####################################
def d(num):
num.extend(['c','f'])
print(num) #['c', 'f']
s=[]
s.append([])
d(s[0])
print(s) #[['c', 'f']]
(2)insert()方法
语法:list.insert(index,obj)
功能描述:将指定的对象插入到列表的指定位置,
返回情况该方法无返回值,但会修改原列表
【注意:列表为空时,位置参数无效。】
tmp=[1,2,3,4,5,6]
tmp.insert(-3,'a')
print(tmp) #[1, 2, 3, 'a', 4, 5, 6]
(3)extend()方法
语法:list.extend(seq)
功能描述:在列表末尾逐一添加seq序列中的元素,
返回情况:该方法无返回值,但会修改原列表
(4)列表拼接
语法:list1+list2
功能描述:采用两个列表相加组成一个新的列表
返回情况:返回一个新的列表,不改变原列表
(5)zip()方法
语法:tuple_name=zip(v1,v2,...,vN)
v1是可迭代对象
功能描述:将传参中两个序列一一对应封装成元组,如果传参长度不一致则会按照短的来打包
返回情况:返回一个由元组组成的列表对象,需通过转换成list才能展示数据值,转换成其他序列类型都会返回空值
实例代码:
a=[1,2,3,4,'d']
b=[3,45,'ee']
c=zip(a,b)
print(list(c))
print(dict(c),tuple(c),set(c))
附加知识:append()和extend()区别
函数名称 | 区别 |
---|---|
append() |
将参数整体插入到列表后面 |
extend() |
将参数整体拆分逐个插入到列表后面 |
实例代码:
向list01中插入缺失的字符 list01=[‘A’,‘B’,‘C’,‘D’,‘F’,‘G’,‘H’,‘J’,‘K’,‘L’,‘M’,‘N’,‘R’,‘S’,‘U’,‘V’,‘W’]
list01=['A','B','C','D','F','G','H','J','K','L','M','N','R','S','U','V','W']
list01.insert(4,"E")
list01.insert(8,"I")
list01.insert(list01.index("S")+1,"T")
list01.append("X")
list01.extend(('Y','Z'))
list01=list01[:list01.index("N")+1]+['O','P','Q']+list01[list01.index("N")+1:list01.index("Z")+1]
print(list01)
2、删除元素
(1)del方法
语法:del list[start:end:len]
功能描述:删除指定索引值元素或者删除指定序列
返回情况:没有返回值,没有填写索引会将整个列表删除
(2)pop()方法
语法:list.pop([index=-1])
功能描述:删除列表中指定位置的元素,如果没有写明索引位置则,删除list末尾的元素。
返回情况:该方法返回被删除的元素并修改原列表
(3)remove()方法
语法:list.remove(obj)
功能描述:删除列表钟指定值的元素,若列表中存在相同的值则会删除第一个值,
返回情况:该方法没有返回值
注意: remove() 方法在移除一个不存在的元素时会发生错误
(4)整个列表删除
语法:list.clear()
功能描述:删除列表中所有的元素,类似于del list[:]
返回情况:无参数同时无返回值。
实例代码:
将list02中的数字删除,list02=[‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’,22, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’,2,3,4,50, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘R’, ‘S’, ‘T’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’,12]
list02=['A', 'B', 'C', 'D', 'E', 'F',22, 'G', 'H', 'I', 'J', 'K', 'L',2,3,4,50, 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',12]
del list02[list02.index(2):list02.index(50)+1]
list02.pop()
list02.remove(22)
print(list02)
3、修改元素
(1) 直接元素赋值
语法:list_name[ index [start:end:step] ] =value / seq
功能描述:通过索引找到要修改的位置并赋值
返回情况:没有返回值,但是会修改原列表
实例代码:
修改list03中的错误字符串,list03=[‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘Fgh’, ‘G’, ‘H’, ‘I’, ‘J’, ‘K’, ‘L’, ‘M’, ‘N’, ‘O’, ‘P’, ‘Q’, ‘Rr’, ‘Ss’, ‘Tt’, ‘U’, ‘V’, ‘W’, ‘X’, ‘Y’, ‘Z’]
list03=['A', 'B', 'C', 'D', 'E', 'Fgh', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',