专业编程基础技术教程

网站首页 > 基础教程 正文

文科小白自学python之(啃书特辑)第三章(学习笔记)

ccvgpt 2024-10-21 04:31:46 基础教程 5 ℃

学完了第三章,不得不说感觉还不错,因为对python浓厚的兴趣,支撑着我去学习和探索。每天下午吃了晚饭,去跑会儿步,回去洗个澡之后,就开始学python了,一开始我是打算每天学习四个小时,但是试验结果往往不尽人意,我学两个小时就已经很累了,一直学三四个小时,脑子的确有些吃不消,我也不想急功近利,毕竟学习这件事情,实在是来不得半点虚伪。我后来转变策略,每天学习一个半小时,就开始总结所学,并且发文章输出所学,逼迫自己去吸收进步了,这样下来,我感觉还不错。所以每一天都坚持了下来。

这一章主要讲述了如何操作列表,跟上一章的简单介绍不同,这一章明显融合了更多的列表知识。

文科小白自学python之(啃书特辑)第三章(学习笔记)

一,列表的游历和各种操作

1,如何游历整个列表?

我们可以用到for循环来做到游历列表每个元素的事情。比如说:

magicians=['alice','david','carolina']

我想要把上面列表中的每一个元素打印陈列出来,就可以用for循环来操作。

for magician in magicians:

print(magician)

alice

david

carolina

2,如何利用for循环在列表里执行更多操作呢?

当我们想给以上三个魔术师同时发一样的消息的时候,我们就可以用到for语句来做,相当于qq群发节日快乐的消息,我想到的是,qq中的function应该就是这个原理,用for循环来操作。

magicians=['alice','david','carolina']

for magician in magicians:

print(f"{magician.title()},that was a great trick")

Alice,that was a great trick

David,that was a great trick

Carolina,that was a great trick

有没有感觉和QQ群发消息特别像,一样的概念吧!

3,如何在for循环结束之后执行一些操作?

当我们在for循环结束后,总觉得缺了一点总结性的输出语言,所以当我们要这样做的时候,一般不会缩进,在最后一行,打印print,输出总结的话,通常也可以用在游戏开始的点击按钮上面。我觉得这有点像我打植物大战僵尸的时候,那个让我点击开始的按钮,我顿时又可以了!

magicians=['alice','david','carolina']

for magician in magicians:

print(f"{magician.title()},that was a great trick")

print("Thank you,everyone .That was a great magic show!")

Alice,that was a great trick

David,that was a great trick

Carolina,that was a great trick

Thank you,everyone .That was a great magic show!

以上红字部分就是输出的内容,最后一句就是程序循环结束后的操作!


二,列表的缩进问题

1,缩进问题一般都是关乎着 ,for循环语句是否能够循环,一般在编辑程序的时候,要记得print的缩进,以下是正确示范和错误示范。

正确示范

magicians=['alice','david','carolina']

for magician in magicians:

print(f"{magician.title()},that was a great trick")

错误示范

magicians=['alice','david','carolina']

for magician in magicians:

print(f"{magician.title()},that was a great trick")

上面标蓝色的部分,就是print的缩进情况。


2,忘记缩进循环的第二行代码,不过这在python中是合法的,但是不符合逻辑,属于逻辑错误。这样操作的话,会导致python把第二行循环代码当成for循环语句,结束后的总结语句。但是,达不到我们想要的效果。

3,不必要的缩进,有些语句不是for语句循环,所以不需要缩进。或者循环结束后的语句缩进了,多半也只是造成逻辑错误,一半都不会导致python报错。

4,遗漏了冒号,也就是for循环语句中,标志着即将进入循环第一行的冒号。

for magician in magicians:

就是以上循环语句中,被标红的冒号,直接标志着,语句的循环第一行就要开始了,所以很重要。


三,创建数值列表

1,使用函数range().range函数呢,可以打印一系列数出来,但是不会打印数值范围的最后一个数,而是范围的第一个数,和数值前一个数。比如说

for number in range(1,5):

上面的循环语句,就只能打出:1,2,3,4,但是不能打印出5

所以就是

print(number)

1

2

3

4

如果我们想让它从0开始打印出来,那么可以只设置一个参数,比如说:

for number in range(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=[]

for number in range(1,11):

numbers.append(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**2 for each in range(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']

我还是想打印中间两个,那么可以这样做。

for magician in magicians[1:3]:

print(magician)

david

carolina


2,复制列表,我们如果想要找到共同点和加上不同点,可以选择复制列表,比如我和我的朋友,有共同点,有不同点,这样是达到两个不同的列表。

my=['pizza','fal','carrot']

you=my[:]

以上就是把my的列表,复制在来you上,变成两个列表,而这两个列表目前是相同的

当我们想要分别给两个列表加上不同点时,可以这样操作:

my.append('apple')

you.append('strawberry')

以上操作就将把这两个列表,加上不同的地方了,打印出来的结果是:

my=['pizza','fal','carrot','apple']

you=['pizza','fal','carrot','strawberry ']


五,元组

元组跟列表很像,但是元组不能修改,而列表可以修改,而且元组是用圆括号,而列表是用方括号表示。

1,如何游历元组的元素呢?

原理跟游历列表一个道理,就不展示了。

2,如何修改元祖的变量呢?

原则上是不能用索引值修改元祖中元素的值,但是你可以把它打印出来,然后重新命名一个相同变量名,就可以修改了。老实话,我觉得这里不就是换一个变量吗?虽然名字一样,但是性质早已经不一样了,作者这样写,还是让我觉得有点多余,不过也好,比较详细。


好了,今天的章节学习完了!明天继续!

Tags:

最近发表
标签列表