# 加法就是拼接 重复列表中的元素若干次
p =[2,4]
q =[5,6]
p + q
[2,4,5,6]
p *3[2,4,2,4,2,4]
嵌套列表
matrix =[[1,2,3],[4,5,6]]# 构建
A =[0]*3for i inrange(3):
A[i]=[0]*3[[0,0,0],[0,0,0],[0,0,0]]
is
# is判断地址是否指向用一个对象的运算符
A[0]is A[1]False# 如上图
B =[[0]*3]*3#注意 拷贝的就是对同一个列表的引用
B[0]is B[1]True# 如上图# 同一个字符串,地址相同
x ="FishC"
y ="FishC"
x is y
True
浅拷贝 和 深拷贝
# 一维列表如果要让两个变量互不干扰,就需要用到copy [:] 浅拷贝# 浅拷贝
x =[1,2,3]
xx = x.copy()
xxx = x[:]#copy
xx, xxx
([1,100,3],[1,100,3])
# 深拷贝 copy模块import copy
x =[[1,2],[3,4]]
y = copy.copy(x)# 浅拷贝
x[1]is y[1]True
x =[[1,2],[3,4]]
y = copy.deepcopy(x)# 深拷贝
x[1]is y[1]False
列表推导式
# 公式 [表达式 for target in iterable]
oho =[1,2,3,4,5]
oho =[i *2for i in oho][2,4,6,8,10]
# 公式 [表达式 for target in iterable if condition]
even =[i for i inrange(10)if i %2==0][0,2,4,6,8]
# 公式 [表达式 for target1 in iterable1 # for target2 in iterable2# ······# ]
matrix =[[1,2,3],[4,5,6]]
f =[j for i in matrix for j in i]#二维变一维列表[1,2,3,4,5,6]
# 公式 [表达式 for target1 in iterable1 if condition1# for target2 in iterable2 if condition2# ······# ]# 依葫芦画瓢