列表 list
列表的定义:
列表是由一一系列元素组成的,元素与元素之间可能没有任何的关联关系,但他们之间有先后顺序关系
列表是一张容器,是一种序列 可以被改变的序列
Python中的序列:
字符串 str
列表 list
元组 tuple
字节数组 bytearray
创建空列表的字面值:
L=[] # L 绑定空列表
创建非空列表的字面值
L=[1,2,3,4]
L=['Beijing','shanghai',]
L=[1,'two',3.3,'四']
L=[1,2,[3.1,3.2,3.3],4]
列表的构造函数 list
list() 生成一个空的列表 等同于[]
list(iterable) 用可迭代对象创建一个列表
list("hello") ['h','e','l','l','o']
list(range(1,10,2))
[1,3.....]
列表的运算:
运算符:
+ += * *=
+ 用于拼接列表
x=[1,2,3]
y=[4,5,6]
z=x+y # z=[1,2,3,4,5,6,7]
+=用原列表与右侧列表拼接,并用变量绑定新列表
x=[1,2,3]
x+=[4,5,6] # x=[1,2,3,4,5,6]
x=[1,2]*3 # x=[1,2,1,2,1,2]
*= 生成重复的列表,并给原变量赋值
x=[3,4]
x*=2 # x=[3,4,3,4]
y=3
y*=[7,8] # y=[7,8,7,8,7,8]
列表的比较运算:
运算符;
<<= >>= == !=
示例:
[1,2,3]<[1,2,3,4]
练习
输入一些行文字,将这些行文字保存在一个列表L中,当输入空行时结束输入,并打印列表l内容
4. 输入一个正整数,打印这个数是否是素数
in / not in 运算符
判断一个对象是否存在于容器内,如果存在返回true 否则返回false
用法同字符串的in相同
语法:
数据对象 in 容器
示例:
L=[1,'two',3.3 ,'四']
1 in l # true
2 in l false
3.3 in l
'4' not in L true
列表的索引和切片操作:
语法:
列表[整数表达式]
用法:
取值时等同于字符串的操作
索引分为正向索引和反向索引, 规则与字符串索引完全相同
列表的索引赋值
列表是可变的序列,可以通过索引赋值改变列表中的元素
示例:
L=[1,2,3,4]
L[2]=3.3 # 将第三个元素改为3.3
列表的切片
语法:
列表[:]
列表[::]
列表的切片取值时返回一个列表,规则等同于字符串规则
列表的切片赋值:
作用:
可以改变原列表的排序,可以插入和修改数据
可以用切片改变列表的对应元素的值
语法
列表[切片]=可迭代对象
注:赋值运算符 的右侧 必须是一个可迭代对象
示例:
L=[2.3.4}
L[0:1]= [1.1 ,2.2] L=[1.1,2.2,3,4]
L=[2,4]
L[1:1]=[3] L =[2,3,4] 中间插
L=[2,3,4] # 如何实现在前面插入[0.1]解: L[0:0]
实现在后面插入[5,6] L[3:3]
L=[1,2,3]
L[1:2]=range(2,4)
切片赋值注意事项:
对于步长不等1的切片赋值,赋值运算符右侧的可迭代对象提供元素个数一定要等于切片切出的段数
例:
L=[1,2,3,4,5,6]
L[::2]="ABC" 对的
=“ABCD” 错的
del语句
用于删除列表中的元素
语法
del 序列 [整数表达式]
del 序列 [切片]
示例:
l=[1,2,3,4,5,6]
delL[-1] 删除最后一个6
delL[0] 删除第一个1
delL[::2] 删除1,3,5
python3中常用的序列函数:
len(seq) 返回容器内的元素个数
max(x) 返回序列的最大值元素
min(x) 最小
sum(x) 返回序列所有元素和,须为数值
any(x) 真值测试 如果一个容器内其中为 true 则返回true
否则返回false
all (x) 真值测试
容器内所有元素的布尔值为true 才返回true
python3中 常用的列表方法(method)
L.index(v [, begin[, end]])
返回对应元素的索引下标, begin为开始索引,end为结束索引,当 value 不存在时触发ValueError错误
L.insert(index, obj)
将某个元素插放到列表中指定的位置
L.count(x)
返回列表中元素的个数
L.remove(x)
从列表中删除第一次出现在列表中的值
L.copy()
复制此列表(只复制一层,不会复制深层对象)
L.append(x)
向列表中追加单个元素
L.extend(list)
向列表追加另一个列表
L.clear()
清空列表,等同于 L[:] = []
L.sort(reverse=False)
L.reverse()
列表的反转,用来改变原列表的先后顺序
L.pop([index])
删除索引对应的元素,如果不加索引,默认删除最后元素,同时返回其值