2023.5.10~11 Wedn. ~ Thurs 今天内容应反复练习!不然易忘!!
遍历整个列表 - for循环 —— for 列表名 in 列表名: (别忘了冒号)—— ①注意缩进/不缩进! ②注意冒号:
实例:
lunchs = ['sushi', 'rice', 'tanfura', 'salad']
for lunch in lunchs:
print(lunch)
Note: 在命名的时候,最好是以单数和复数, 有助于理解代码段在处理一个列表里的所有单个元素。
如:
for cat in cats:
for dog in dogs:
for item in items:
print(item) --------------------- 注意要缩进!!!
不缩进的话,不重复执行。 ------------- 可用于最后一句总结性输出。
----------------做几个练习4.1-2 ------------------
数值生成 - 函数range()
for value in range(1,5):
print(value)
这时,你会发现编程语言中常见的差一行为。
因为range(1,5)打印的是1到5(不包含5)。
所以结果是:1 2 3 4
数字列表 - 函数list()将range()的结果转换为列表。--- list(range(1,5))
numbers = list(range(1,5))
print(numbers)
>>> [1, 2, 3, 4] -----------输出结果为[ ] 列表形式
range()除了范围外,还可指定步长。
如:打印1~10内的偶数。range(2, 11, 2)
for even_numbers in range(2,11, 2):
print(even_numbers)
>>> 2 4 6 8 10
又如:打印1~10的平方 (平方: ** 2)
squares = [ ]
for value in range(1,11):
square = value**2
squares.append(square)
print(squares)
>>> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
对数字的简单统计计算
min()
max()
sum()
列表解析 —— 将for循环和其他代码合并为一行
如:
squares = [value**2 for value in range(1,11)] -------------- 无冒号
print(squares)
格式:列表名 = [ ] ------ [表达式 for 值 in 数值范围]
------------------做练习4.3-9------------------------
处理列表中部分元素 - 切片
- 如何切片
实例:
vege = ['tomato', 'potato', 'onion', 'broccoli'] ----------设定列表
print(vege[0:2]) --------- 列表名[ 索引1:索引2] ------ 从开头(0)到(结束-1)
print(vege[2:3]) --------- 中间一部分
print(vege[:2]) --------- 若索引1没规定,那就是从头开始
print(vege[-2:]) --------- 若索引2没规定,那就是到末尾止 ------- 复数代表倒数第几个
- 遍历切片 ---- for 循环
实例:for vege in veges[:3]:
print(vege)
- 复制列表 - 使用切片复制和不使用切片复制(直接赋值),结果大有不同!
使用切片复制:新列表名 = 原列表名[:] - 代表截取全部内容
不使用切片复制(直接赋值)
复制列表方式 | 代码 | 输出结果 | 差异 |
使用切片 | friend_vege = vege[:] | vege的内容 | 同 |
直接赋值 | friend_vege = vege | vege的内容 |
复制列表方式 | 代码 | 输出结果 | 差异 |
使用切片 | friend_vege = vege[:] vege.append('eggplant') friend_vege.append('beans') | vege的内容: 原vege + eggplant friend_vege的内容:原vege + beans | 不同 |
直接赋值 | friend_vege = vege vege.append('eggplant') friend_vege.append('beans') | vege的内容: 原vege + eggplant + beans friend_vege的内容:原vege + eggplant + beans |
------------- 做几个练习 4.10-12 ----------------------
元组tuple /tapl/ - 不可变的列表 - ()而不是[ ]
实例:
dimensions = (10, 30)
print(dimensions[1])
>>> 30
当场试改变元组中的值时,dimensions[1] = 50
Python会报错。 --------- 修改元组是被禁止的!!!
- 遍历元组中所有值 (遍历:traverse)—— for循环
- 修改元组变量 —— 无法修改元组值,但可以修改变量
dimensions = (10, 30)
print(dimensions[1])
>>> 30
dimensions = (22, 80)
print(dimensions[1])
>>> 80
*相比列表,元组是更简单的数据结构。
-------------做几个练习4.13----------------
代码格式 (PEP 8 --- 代码格式设置指南)
阅读代码次数 >> 编写代码次数 —————— 格式应更易于阅读。
- 缩进(indentation)/in.../ ------- 四个空格 --- 制表符 ---- 不能混合使用制表符和空格。
- 行长 - 通常不超过80字符。注释不超过72 ---- 可设置垂直参考线
- 空行 - 适当的空行(如列表和执行代码中间分行)------- 便于阅读,但不可滥用
------------------ 第四章完---------------列表------------下一章学习if语句--------加油----------