列表

列表中每一个元素都被分配一个数字作为索引,用来表示该元素在列表内所在的位置
列表是一个有序可重复的元素集合,可嵌套、迭代、修改、切片、追加、删除、成员判断
创建列表的方式:
1、直接通过赋值创建

lis=[0,1,2,3]

2、通过list()函数进行创建
list()函数内是可迭代的数据类型

lis=list(range(5))
lis=list('stra')

访问列表元素
访问列表中的某一个元素是通过索引来访问
注:列表的索引是从0开始的

lis=['a','b','c','d']
lis[0]

索引的值若为负数,则从列表最后一个值往前算进行取值

lis=['d','f','g','h']
lis[-2]

通过索引访问列表中元素时,索引不能越界(索引值不能大于列表长度减1)
修改列表元素值
通过索引直接进行赋值

lis=[1,2,3,4,5,6]
lis[2]=9

删除列表中的值
1、通过del删除

ls=[1,2,3,4]
del ls[2]

2、通过remove()函数删除
remoce()函数是根据元素值删除,执行删除后不会返回任何内容
若删除不存在的值,程序将报错

ls=['a','b','c']
ls.remove('c')

3、通过pop()函数删除
pop()函数是根据索引进行删除操作,删除操作执行后会返回删除值
pop()函数可以不传值,此时默认删除最后一个元素

ls=['a','b','c']
print(ls.pop(10))

列表的特殊操作
1、列表拼接
列表拼接即为两个列表相加,并非列表对应位置上元素做加法,而是将两个列表合并为一个列表

ls1=[1,2,3,4]
ls2=['a','b','c','d']
ls=ls1+ls2
print(ls)

2、列表乘法
列表乘法仅针对列表和整数相乘,列表与列表之间不能相乘
列表乘法是将列表中所有的元素依次重复整数次

ls=[1,2,3]
ls1=ls*3

3、判断元素是否在列表内
通过in进行判断某元素是否在列表内
若元素在列表内返回True,反之返回False

ls=['a','b','c']
print ('c' in ls)

4、迭代列表中元素

ls=[1,2,3]
for i in ls:
	print(i)

5、列表的常用函数
len()求列表的长度

ls=[1,2,3]
print(len(ls))

max()求列表中的最大值
min()求列表中的最小值

ls=[1,2,3]
print(max(ls))
print(min(ls))

list()转换为列表

a="str"
print(a)

列表排序和反转
1、列表排序

ls=[1,3,5,8,2]
ls.sort()	#按照升序排序
ls.sort(reverse=True)	#按照降序排序

:若列表中既有字符串又有数字,则不能进行排序
2、列表反转

ls=['a','b','c']
ls.reverse()

切片
切片操作是对序列进行截取操作,截取序列中的某一段
语法:list[start:end:step]
start表示开始位置(值包含在内)
end表示结束位置(值不包含在内)
step表示步长

ls=[1,2,3,'a','b','c']
ls[0:4]#从第一位开始去,到第四个位置结束,但第四个位置值不取出
ls[0:4:2]#从第一位开始去,到第四个位置结束,步长为2
ls[::2]#start不填表示从头开始,end不填表示到最后一位结束

列表的内置方法
append()在列表末尾新增一个对象

ls=[1,2,3]
ls.append('a')

count()统计列表中某个元素出现的次数

ls=[1,1,2,3]
print(ls.count(1))

extend()在列表末尾一次性追加另一个列表中的多个值

ls=[1,2,3]
ls1=['a','b']
ls.extend(ls1)
print(ls)

insert()在列表的指定索引位置添加元素

ls=[1,2,3]
ls.insert(1,'a')
print(ls)

copy()复制列表

ls=[1,2,3]
ls1=ls.copy()
print(ls1)

clear()清空列表

ls=[1,2,1,3]
ls.clear()
print(ls)