list 列表
列表的定义与使用
1、列表是有序的可变元素的集合,使用中括号 [ ] 包围,元素之间用逗号分隔
2、列表是动态的,可以随时扩展和收缩
3、列表是异构的,可以同时存放不同类型的对象
4、列表中允许出现重复元素
创建列表:
通过构造函数创建
中括号创建并填充
列表推导式
# 1、通过构造函数
a = list()
print(type(a))
# 2、中括号填充元素[]
b = [1, 2, 3, "happy"]
print(b)
print(type(b))
# 3、 列表推导式
c = [i for i in range(1, 3)]
print(c)
print(type(c))
列表使用:索引
--默认正向索引,编号从0开始。
--支持反向索引,编号从-1开始
# 列表索引
a = [1, 2, 3, 4, "happy"]
# 正向索引,从0开始
print(a[0])
print(a[1])
# 反向索引。从-1开始
print(a[-1])
print(a[-2])
列表使用:切片[start:stop:step]
--star值:指示开始索引值,如果没有指定,则默认开始值为0
--stop值:指示到哪个索引值结束,但不包括这个结束索引值,如果没有指定,则取列表允许的最大索引值
--step值:步长值指示每一步大小,如果没有指定,则默认步长值为1
三个值都是可选的,非必填
# 列表切片
a = [1, 2, 3, 4, "happy"]
print(a[1:3:1])
print(a[-3:-1])
print(a[::1])
print(a[::2])
print(a[::-1])
列表使用:运算符
--重复:使用 “x” 乘号运算符,可以重复生成列表元素
--合并:使用 “+” 加号运算符,可以将两个列表合二为一
# 列表使用:运算符
# 1、 乘号
a = [1]
print(a * 5)
# 2、加号
a = [1, 2, 3]
b = [4, 5, 6]
print(a + b)
列表使用:成员检测
in: 检查一个对象是否在列表中,如果在则返回True,否则返回False.
not in:检查一个列表是否不包含某个元素。如果不在返回True,否则返回False.
# 列表使用:成员检测
# in: 检查一个对象是否在列表中,如果在则返回True,否则返回False.
a = [1, 2, 3]
print(1 in a)
print(10 in a)
# not in:检查一个列表是否不包含某个元素。如果不在返回True,否则返回False.
a = [1, 2, 3]
print(1 not in a)
print(10 not in a)
列表方法
列表方法 append()
append(item):将一个对象item添加到列表的末尾。
入参:对象item
返回:None
# append()
# append(item):将一个对象item添加到列表的末尾。
# 入参:对象item
# 返回:None
a = [1]
a.append(2)
print(a)
a.append('happy')
print(a)
列表方法extend()
extend(iterable):将一个可迭代对象的所有元素,添加到列表末尾。
入参:可迭代对象iterable
返回:None
# 列表方法extend()
# extend(iterable):将一个可迭代对象的所有元素,添加到列表末尾。
# 入参:可迭代对象iterable
# 返回:None
a = [1]
a.extend('happy')
print(a)
列表方法insert()
insert(index,item):将一个对象插入到指定的索引位置
入参:索引值index,一个对象item
返回:None
原索引位置及后面的元素后移一位
# 列表方法insert()
# insert(index,item):将一个对象插入到指定的索引位置
# 入参:索引值index,一个对象item
# 返回:None
# 原索引位置及后面的元素后移一位
a = [1, 2]
a.insert(1, 3)
print(a)
列表方法pop()
pop(index)或pop()
弹出并返回所指定索引的元素
入参:索引值index.可不传
返回:指定索引的元素
返回:未指定索引则返回末尾元素
如果索引值不正确,或者列表已经为空,则引发IndexError错误
# 列表方法pop()
# pop(index)或pop()
# 弹出并返回所指定索引的元素
# 入参:索引值index.可不传
# 返回:指定索引的元素
# 返回:未指定索引则返回末尾元素
# 如果索引值不正确,或者列表已经为空,则引发IndexError错误
a = [1, 2, 3]
b = a.pop(1)
print(a)
print(b)
c = a.pop()
print(a)
print(c)
列表方法remove()
remove(item)
移除列表中第一个等于item的元素
入参:指定元素item
返回:None
目标元素必须存在,否则会报ValueError
# 列表方法remove()
# remove(item)
# 移除列表中第一个等于item的元素
# 入参:指定元素item
# 返回:None
# 目标元素必须存在,否则会报ValueError
a = [1, 2, 1, 3]
print(a.remove(1))
print(a)
a.remove(2)
print(a)
列表方法sort()
sort(key=None, reverse=False)
对列表进行原地排序,只使用
入参:支持2个关键字参数:
key:指定带有一个参数的函数,用于从每个列表元素中提取比较键。
reverse:默认值为False表示升序,为True表示降序
返回:None
# 列表方法sort()
# sort(key=None, reverse=False)
# 对列表进行原地排序,只使用<来进行各项间比较
# 入参:支持2个关键字参数:
# key:指定带有一个参数的函数,用于从每个列表元素中提取比较键。
# reverse:默认值为False表示升序,为True表示降序
# 返回:None
# 不传参数,默认升序,数字从小到大排列
a = [1, 4, 2, 3, 6]
a.sort()
print(a)
# 指定key=len,按元素的长度排列
b = ['happy', 'root', 'lucky', 'a']
b.sort(key=len)
print(b)
# 指定reverser=True
a.sort(reverse=True)
print(a)
列表方法reverse()
reverser():将列表中的元素顺序反转
参数:无
返回:None
反转只是针对索引值,元素之间不相互比较
# 列表方法reverse()
# reverser():将列表中的元素顺序反转
# 参数:无
# 返回:None
# 反转只是针对索引值,元素之间不相互比较
a = [1, 2, 5, 4, 6, 7, 'happy']
a.reverse()
print(a)
列表嵌套
嵌套列表是指在列表里存在列表
列表的常用方法都适用于嵌套列表
# 列表嵌套
# 嵌套列表是指在列表里存在列表
# 列表的常用方法都适用于嵌套列表
# 嵌套列表
a = [[1, 2], ['happy', 'lucky']]
print(a[1])
print(a[1][1])
列表推导式
列表推导式是指循环创建列表,相当于for循环创建列表的简化版
语法:[x for x in a if x >1 ]
# 列表推导式
# 列表推导式是指循环创建列表,相当于for循环创建列表的简化版
# 语法:[x for x in a if x >1 ]
a = [0, 1, 2, 3, 4]
b = [x for x in a if x > 1]
print(b)