今天依然是学列表,不过出于各种原因,就只上了一节课。
课程的内容主要是嵌套列表、创建二维列表,顺便在吐槽一下小甲鱼的作业,特别是动手题,超纲两节课还行?
so,今天主要是放学习笔记。
#加与乘#
woman = ["刘亦菲","迪丽热巴","范冰冰","古力娜扎","佟丽娅"]
beautiful_woman = ["新垣结衣","朴智妍"]
woman + beautiful_woman #两条列表相加组合:['刘亦菲', '迪丽热巴', '范冰冰', '古力娜扎', '佟丽娅', '新垣结衣', '朴智妍']
beautiful_woman * 2 #将woman列表里的元素重复2次:['新垣结衣', '朴智妍', '新垣结衣', '朴智妍']
#创建二维列表#
numb = [[1,2,3],[4,5,6],[7,8,9]] #创建二维列表:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
numb = [[1,2,3],
[4,5,6],
[7,8,9]] #二维列表的另外一种写法。
for i in range(3):
numb[i] = [0]*3 #通过循环的方式创就按二维列表
#错误释放
numb=[[]] * 3 #:结果看起来是正常的,即[[], [], []]。但实际上为同一个内存存放地址,即其实为同一个列表。
numb[0].append(3) #正常情况为[3],[0],[0]。但这里显示为[[3], [3], [3]]。
#访问嵌套列表
for i in numb: #numb里有三组列表,所以“numb”为循环3次,但每次的内容都是二级列表里的内容:第一次循环为[[1, 2, 3], 第二次是[4, 5, 6], 第三次是[7, 8, 9]]
for each in i: #i = numb每次循环的数值,i为三组数值,所以循环三次,并赋值给each
print(each,end = '') #减去每个元素数值之间的空行
print() #增加空行
numb[0] #为numb列表里的第一个嵌套列表,即[1, 2, 3]
numb[0][0] #访问嵌套列表里的数字,第一个[0]代表一级列表的位置,即可以理解为“行”,第二个[0]代表二级列表的位置,可以理解为“列”。[0][0]就是第一行第一列。
#IS 运算符也称统一性运算符:检验两个变量是否指向同一个对象的一个运算符
x = "250"
y = "250"
x is y #判断 x和 y的变量值是否一致,此处答案为True,即真
#实际应用
A = [[0,0,0],[0,0,0],[0,0,0]]
A[0] is A[1] #False,因为第一组列表和第二组列表存储在内存不同地址
列表真的很复杂,博大精深。
我思忖着,以后列表套列表再循环套,再增加几个分支。
哇,爽歪歪。
胭惜雨
2020年12月25日