今天依然是学列表,不过出于各种原因,就只上了一节课。

课程的内容主要是嵌套列表、创建二维列表,顺便在吐槽一下小甲鱼的作业,特别是动手题,超纲两节课还行?

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日

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据