从今天开始,本系列的标题都会加上学习的主要内容。楼主为八年级学生,想要冲冲编程竞赛,但无奈自己智商不够,没法撸各种算法题,只好先从比较简单的Python开始,开一些帖子记录一下。由于我有前端基础,所以我并不是0基础,而是0.2基础。我随时可能拖更,如果我长时间拖更,欢迎催更!我选用的是Python编程:从入门到实践(第2版).pdf这本书当作教材,这本书前30页都是废话。
今天主要看了列表操作部分,以下是总结:
列表遍历:
使用for,对列表中的每一项进行同样的操作(for一句的末尾一定要有冒号):
[Python] 纯文本查看 复制代码 magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
print(f"{magician.title()},hello")
每一次循环时,都会把列表的对应值取出来进行处理。
如果想在循环结束后进行一些操作,就要去掉循环片段的缩进。
[Python] 纯文本查看 复制代码 magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f"{magician.title()}, that was a great trick!")
print(f"I can't wait to see your next trick, {magician.title()}.\n")
print("Thank you, everyone. That was a great magic show!")
一定要注意不要多缩进或者少缩进,不然程序运行会出现一些想不到的问题。
创建数值列表:
使用range函数,有3种用法:
第一种,2个参数,第一个参数接受的是从哪个数开始数,第二个参数是数到哪个数停止(不包括这个参数)
[Python] 纯文本查看 复制代码 for value in range(1,6):
print(value)
输出:或者只给一个参数,默认从0开始
例如:range(5)就相当于0, 1, 2, 3, 4
还可以指定步长,不过必须要3个参数例如1-10之间的奇数:
[Asm] 纯文本查看 复制代码 print(list(range(1,11,2))) range函数并不会返回一个列表,需要用list()括起来才会变成列表
[Python] 纯文本查看 复制代码 print(range(1,6))
print(list(range(1,6))) 对列表进行简单统计
可以
[Asm] 纯文本查看 复制代码 nums = list(range(11))
print(nums)
print(min(nums)) #最小值
print(max(nums)) #最大值
print(sum(nums)) #求和 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
0
10
55
列表解析
可以理解成是对列表遍历的缩写
[Python] 纯文本查看 复制代码 squares = [value**2 for value in range(1, 11)]
print(squares) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
使用列表的一部分(列表切片)
与range函数类似,
1个参数:默认从索引0开始,到给定的索引结束(不包括这个索引),步长为1进行切片
2个参数:以第1个参数的值为索引,第2个给定的参数为索引结束,步长为1进行切片
3个参数:以第1个参数的值为索引,第2个给定的参数为索引结束,步长为第3个参数的值进行切片
具体语法:
[Python] 纯文本查看 复制代码 players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
使用冒号分隔参数。
不同的是,如果只是用1个参数,那么结束索引之前要加上一个冒号,否则会与读取列表一个元素的值产生歧义。
第1个参数还可以是负数,从倒数索引开始
复制列表
如果直接是用这种方法:那么再list2做的更改也会到list1上
所以我们可以使用切片进行列表复制:
以上是本帖全部内容了,距离上次更新过去很长时间了,已经读了差不多这本书的1/6了,希望自己能坚持下去吧、 |