文科小白自学python之(啃书特辑)第三章(学习笔记)
时间:2023-10-19 浏览: 455次
学完了第三章,不得不说感觉还不错,因为对python浓厚的兴趣,支撑着我去学习和探索。每天下午吃了晚饭,去跑会儿步,回去洗个澡之后,就开始学python了,一开始我是打算每天学习四个小时,但是试验结果往往不尽人意,我学两个小时就已经很累了,一直学三四个小时,脑子的确有些吃不消,我也不想急功近利,毕竟学习这件事情,实在是来不得半点虚伪。我后来转变策略,每天学习一个半小时,就开始总结所学,并且发文章输出所学,逼迫自己去吸收进步了,这样下来,我感觉还不错。所以每一天都坚持了下来。
这一章主要讲述了如何操作列表,跟上一章的简单介绍不同,这一章明显融合了更多的列表知识。
一,列表的游历和各种操作
1,如何游历整个列表?
我们可以用到for循环来做到游历列表每个元素的事情。比如说:
magicians=['alice','david','carolina']
我想要把上面列表中的每一个元素打印陈列出来,就可以用for循环来操作。
formagicianinmagicians:
print(magician)
alice
david
carolina
2,如何利用for循环在列表里执行更多操作呢?
当我们想给以上三个魔术师同时发一样的消息的时候,我们就可以用到for语句来做,相当于qq群发节日快乐的消息,我想到的是,qq中的function应该就是这个原理,用for循环来操作。
magicians=['alice','david','carolina']
formagicianinmagicians:
print(f"{()},thatwasagreattrick")
Alice,thatwasagreattrick
David,thatwasagreattrick
Carolina,thatwasagreattrick
有没有感觉和QQ群发消息特别像,一样的概念吧!
3,如何在for循环结束之后执行一些操作?
magicians=['alice','david','carolina']
formagicianinmagicians:
print(f"{()},thatwasagreattrick")
print("Thankyou,!")
Alice,thatwasagreattrick
David,thatwasagreattrick
Carolina,thatwasagreattrick
Thankyou,!
以上红字部分就是输出的内容,最后一句就是程序循环结束后的操作!
二,列表的缩进问题
1,缩进问题一般都是关乎着,for循环语句是否能够循环,一般在编辑程序的时候,要记得print的缩进,以下是正确示范和错误示范。
正确示范
magicians=['alice','david','carolina']
formagicianinmagicians:
print(f"{()},thatwasagreattrick")
错误示范
magicians=['alice','david','carolina']
formagicianinmagicians:
print(f"{()},thatwasagreattrick")
上面标蓝色的部分,就是print的缩进情况。
2,忘记缩进循环的第二行代码,不过这在python中是合法的,但是不符合逻辑,属于逻辑错误。这样操作的话,会导致python把第二行循环代码当成for循环语句,结束后的总结语句。但是,达不到我们想要的效果。
3,不必要的缩进,有些语句不是for语句循环,所以不需要缩进。或者循环结束后的语句缩进了,多半也只是造成逻辑错误,一半都不会导致python报错。
4,遗漏了冒号,也就是for循环语句中,标志着即将进入循环第一行的冒号。
formagicianinmagicians:
就是以上循环语句中,被标红的冒号,直接标志着,语句的循环第一行就要开始了,所以很重要。
三,创建数值列表
1,使用函数range().range函数呢,可以打印一系列数出来,但是不会打印数值范围的最后一个数,而是范围的第一个数,和数值前一个数。比如说
fornumberinrange(1,5):
上面的循环语句,就只能打出:1,2,3,4,但是不能打印出5
所以就是
print(number)
1
2
3
4
如果我们想让它从0开始打印出来,那么可以只设置一个参数,比如说:
fornumberinrange(4):
print(number)
0
1
2
3
2,还可以用range()创造数字列表,可以做列表,可以打印偶数,可以做乘方运算。
列表:
numbers=list(range(1,4))
print(numbers)
[1,2,3]
打印偶数:
numbers=list(range(2,11,2)
print(numbers)
[2,4,6,8,10]
乘方运算:
numbers=[]
fornumberinrange(1,11):
(number**2)
print(numbers)
[1,4,9,16,25,36,49,64,81,100]
3,对数字列表执行简单的统计计算
digits=[1,2,3,4,5,6,7,8,9]
min(digits)
1
max(digits)
9
sum(digits)
45
4,列表解析
当我们不想分几步,而只想一行代码就结束操作的时候,我们可以考虑列表解析式。比如当我们想计算列表平方时,可以创造一个变量,然后右边写上列表解析式,如:
numbers=[each**2foreachinrange(1,11)]
print(numbers)
[1,4,9,16,25,36,49,64,81,100]
计算结果还是一样,同时更加省地方,不过看需求运用。
四,使用列表的一部分
1,切片,以下总结了两部分,如何选择访问想要的列表元素?如何游历切片元素?
1,怎么访问我们想要的元素呢?切片的原理跟range()相似,都是后面的值不用,比如所:
magicians=['alice','david','carolina','mike']
如果我想要访问上述列表中的中间两个,可以这样操作。
print(magicians[1:3])
['davia','carolina']
2,如何游历切片元素?
magicians=['alice','david','carolina','mike']
我还是想打印中间两个,那么可以这样做。
formagicianinmagicians[1:3]:
print(magician)
david
carolina
2,复制列表,我们如果想要找到共同点和加上不同点,可以选择复制列表,比如我和我的朋友,有共同点,有不同点,这样是达到两个不同的列表。
my=['pizza','fal','carrot']
you=my[:]
以上就是把my的列表,复制在来you上,变成两个列表,而这两个列表目前是相同的
当我们想要分别给两个列表加上不同点时,可以这样操作:
('apple')
('strawberry')
以上操作就将把这两个列表,加上不同的地方了,打印出来的结果是:
my=['pizza','fal','carrot','apple']
you=['pizza','fal','carrot','strawberry']
五,元组
元组跟列表很像,但是元组不能修改,而列表可以修改,而且元组是用圆括号,而列表是用方括号表示。
1,如何游历元组的元素呢?
原理跟游历列表一个道理,就不展示了。
2,如何修改元祖的变量呢?
原则上是不能用索引值修改元祖中元素的值,但是你可以把它打印出来,然后重新命名一个相同变量名,就可以修改了。老实话,我觉得这里不就是换一个变量吗?虽然名字一样,但是性质早已经不一样了,作者这样写,还是让我觉得有点多余,不过也好,比较详细。
好了,今天的章节学习完了!明天继续!