目录
4.1 遍历整个列表
方法:for循环
men=['yyqx','yy','ty']
for man in men:
print(man)
输出:
yyqx
yy
ty
4.1.1 在循环中执行更多的操作
men=['yyqx','yy','ty']
for man in men:
print(man.title()+" you are handsome"+".\t")
print("i love you "+man.title()+"\n")
输出:
Yyqx you are handsome.
i love you Yyqx
Yy you are handsome.
i love you Yy
Ty you are handsome.
i love you Ty
4.2 缩进相关问题
4.2.1 避免缩进错误及逻辑错误
方法:"for"语句后立刻缩进
men=['yyqx','yy','ty']
for man in men:
print(man.title()+" you are handsome"+".\t")
print("i love you "+man.title()+"\n")
由于最后一行没有缩进,导致输出:
Yyqx you are handsome.
Yy you are handsome.
Ty you are handsome.
i love you Ty
语法没有错误,但是最后一行的print已经跳出了for循环体,因此只输出来一行。
4.2.2 不必要的缩进
方法:只有在for循环之后注意缩进格式,否则不需要缩进。
message="hello"
print(message)
print(message)
^
IndentationError: unexpected indent
4.2.3 遗漏冒号
方法:for循环语句的下一行是循环的第一行,因此for语句末尾不要忘记冒号【易于消除却难以发现】
4.3创建数值列表
4.3.1 使用函数range()
方法:range(m,n,l)表示的是m≤x<n中的整数,l表示步长
例子:
for value in range(4,8,1):
print(value)
输出:
4
5
6
7
4.3.2 使用range()创建数字列表
方法:list(range()),将range()作为参数,输出一个数字列表
例子:
number=list(range(4,8))
print(number)
输出:
[4, 5, 6, 7]
4.3.3 循环列表并逐次添尾
方法:列表名.append(计算表达式作为参数)
例子:
squares=[]
for value in range(1,11):
squares.append(value**2)
print(squares)
输出:
[1]
[1, 4]
[1, 4, 9]
[1, 4, 9, 16]
[1, 4, 9, 16, 25]
[1, 4, 9, 16, 25, 36]
[1, 4, 9, 16, 25, 36, 49]
[1, 4, 9, 16, 25, 36, 49, 64]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4.3.3 对数字列表执行简单的统计计算
方法:
- min(列表名)–列表最小值
- max(列表名)–列表最大值
- sum(列表名)–列表数字之和
4.3.4 列表语句简化解析
方法:
- 制定一个描述性列表名+[
- 定义一个表达式
- 编写for循环+]
例子:
squares=[value**2 for value in range(1,11)]
print(squares)
输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
通过列表解析能够大大简化语句的繁杂程度
4.4 使用列表的一部分
4.4.1 切片
方法:
- 列表名+[m:n]表示取出左数第m+1个至第n+1个元素的列表(若m为负,则表示右数第m个元素至列表右数第n个)
- 若左端和右端无数字,默认从第一个数起/至末尾结束
4.4.2 遍历切片
方法:使用for循环语句
例子:
players=['kiki','kimi','isabella']
for player in players[0:1]:
print(player.title())
结果:
Kiki
4.4.3 复制列表
方法:设定新变量,使原列表的全切片值[:]赋予这个变量
例子:
players=['kiki','kimi','isabella']
momo=players[:]
momo.append('fifi')
players.append('riri')
print(momo)
print(players)
结果:
['kiki', 'kimi', 'isabella', 'fifi']
['kiki', 'kimi', 'isabella', 'riri']
注:如果不加[:],则表示原列表赋予新变量,即新老变量所包含的意义相同,因此如果再执行上面的代码,输出结果两变量相同。
例子:
players=['kiki','kimi','isabella']
momo=players
momo.append('fifi')
players.append('riri')
print(momo)
print(players)
结果:
['kiki', 'kimi', 'isabella', 'fifi', 'riri']
['kiki', 'kimi', 'isabella', 'fifi', 'riri']
4.5 元组
4.5.1 定义元组
元组:一系列不可修改的元素;使用圆括号来标识
例子:
numbers=(12,250)
print(numbers[0])
print(numbers[1])
numbers[0]=0
print(numbers)
结果:
numbers[0]=0
TypeError: 'tuple' object does not support item assignment
12
250
4.5.2 遍历元组中的所有值
方法:使用for循环
4.5.3 修改元组变量
方法:将元组变量重新赋值
例子:
numbers=(12,250)
for number in numbers:
print(number)
numbers=(23,111)
for newnumber in numbers:
print(newnumber)
结果:
12
250
23
111
复盘
- 如何高效处理列表/切片中的元素
- 如何使用for循环遍历列表/切片
- 通过切片复制列表