3,列表
3.1定义
有序可变的容器,可以存放多个不同类型的元素
独有功能
1,追加
list.append("element")
2,批量追加
list.extend(l1) #l1列表中的值逐一追加到list列表中
3,插入
list.insert("索引位置",element) #如果索引位置写的
4,删除 (慎用)
list.remove("element")
del 语句能进行切片删除;且能删除变量。
clear,是毁灭性的删除,会将列表全部清空
remove,指定元素删除,只能删除第一个同名的元素。
pop ,指定索引删除,只能删除一个,且默认不写索引,有和append相反的功能。
5,在原列表中根据索引踢出某个元素 (根据索引位置踢出)
list.pop(index)
a= [element]
b=a.pop(0)
print(b) =element
print(a) = []
6,清空原列表
list.clear()
7,根据值获取索引(从左到右找到第一个删除) 【慎用,找不到报错】
list.index("element")
8,排序
list.sort() #从小到大排序
list.sort(reverse=True) #从大到小排序
#sort排序原理:将列表的元素字符串转换为unicode编码,再根据码表来排序
9,反转原列表
list.reverse()
公共功能
1,相加
list= [1,2,3]
list1= [4,5,6]
list2=list+list1
print(list2)
list2= [1,2,3,4,5,6]
2,相乘
a= [1]
b=a*2
print(b)
b= [1,1]
3,运算符in包含
a= [1,2,3,4,5]
if1ina:
pass
4,获取长度
len(list)
5,索引
a= ["1","2","3"]
#读
print(a[0])
a[0] ="1"
#改
a[0] ="4"
print(a)
a= ["4","2","3"]
#删
list= ["1","2","3"]
#删除以后不能取值
dellist[1]
list.remove("1")
#可以取出删掉的值
a=list.pop(2)
print(a)
6,切片
list= ["1","2","3"]
#将前两个元素替换
list[0:2] = [4,5,6]
print(list)
list= [4,5,6,'3']
7,步长
#实现列表的翻转
list= ["1","2","3"]
list[::-1]
#list.reverse()
8,for循环
list= ["1a","1c","2a","1b","2b","1d","2c","2d"]
for item in list:
if item.startswith("1"):
list.remove(item)
print(list)
#list = ['1c', '2a', '2b', '2c', '2d']
#没删干净的原因是在循环过程中,列表元素的索引位置会改变
#但是for循环中的索引还是正常0123来取值,改变索引位置的元素就不会被remove
#正确的处理方法,倒着处理
for index in range(len(list)-1,-1,-1):
#先获取列表中的索引,按照倒序取出元素,再进行if判断循环,这样就不会有遗漏
item = list[index]
if item.startswith("1"):
list.remove(item)
print(list)
#list = ['2a', '2b', '2c', '2d']xxxxxxxxxx
list= ["1a","1c","2a","1b","2b","1d","2c","2d"]
for item in list:
if item.startswith("1"):
list.remove(item)
print(list)
#list = ['1c', '2a', '2b', '2c', '2d']
#没删干净的原因是在循环过程中,列表元素的索引位置会改变#但是for循环中的索引还是正常0123来取值,改变索引位置的元素就不会被remove#正确的处理方法,倒着处理for index in range(len(list)-1, -1, -1):
#先获取列表中的索引,按照倒序取出元素,再进行if判断循环,这样就不会有遗漏
item=list[index]
if item.startswith("1"):
list.remove(item)
print(list)
#list = ['2a', '2b', '2c', '2d']