文章目录
更多相关内容,参考 我的网站
for循环实现遍历
magicians = ['alice', 'david', 'carolina']
for magician in magicians: #定义循环,告诉python每次从magicians拿出一个元素存放到变量magician中
print(magician) #执行过程:python执行完该行又回到上一行。直到列表所有元素都被输出才会执行后续的代码
#输出
alice
david
carolina
#临时变量命名规范
for cat in cats: #即用列表名的单数形式
for dog in dogs:
for item in list_of_items:
循环里可以有多个语句
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician) #输出
print(magician.title()) #首字母大写输出。注意缩进要与上一行一致
print("loop is over!") #循环结束的后续代码。该行只会执行一次。注意不再缩进。
#输出
alice
Alice
david
David
carolina
Carolina
loop is over!
避免缩进错误
忘记缩进
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)#print语句忘记缩进
#输出
IndentationError: expected an indented block after 'for' statement on line 2
忘记将所有要缩进的行缩进
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)#python用缩进决定代码间关系。该行缩进了,所有属于for循环的一部分。
print(magician.title()) #python找到了至少一个缩进行,所有不会报错。但若要输出所有元素的首字母大写,则这是逻辑错误。
#输出
alice
david
carolina
Carolina #由于循环最后一次变量magician值为carolina
不必要的缩进
message = "Hello world!"
print(message) #不必要的缩进,它并不属于属于上一行
#输出
IndentationError: unexpected indent
循环后不必要的缩进
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
print("loop is over!") #该行原本不用缩进。
#输出
alice
loop is over!#虽然不会报错,但这不是我们想要的。
david
loop is over!
carolina
loop is over!
忘记冒号
magicians = ['alice', 'david', 'carolina']
for magician in magicians #丢失冒号。冒号告诉python解析器下一行是循环的开始行。所有不可丢。
print(magician)
#输出
SyntaxError: expected ':' #可以看到到虽然错误提示很明确。但我们应尽量避免。
制作数值型列表
使用range()函数
for value in range(1,4): #第一个值1表示起始值,第二个值4表示停止的的值。由于停止了,所有没有获取到该值。
print(value)
#输出
1
2
3 #结果没有4
for even_numbers in range(2,11,2): #range()函数的第三个值2说明每次增加2
print(even_numbers)
#输出
2
4
6
8
10
生成数值型列表
向空列表中添加数值
squares = []
for value in range(1,11): #生成1-10的平方
square = value**2 #两个星号代表指数。
squares.append(square)
print(squares)
#输出
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
list()函数转换
numbers = list(range(1,6))
print(numbers)
#输出
[1, 2, 3, 4, 5]
列表的简单统计
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits)) #输出最小值
print(max(digits)) #输出最大值
print(sum(digits)) #输出所有元素和
列表推导式
#作用:一行代表生成一个复杂的列表
#格式: 列表名 = [表达式 for value in set]
#表达式中使用value变量。set可以是数值列表,rang()函数返回值等。
squares = [value**2 for value in range(1,11)]
print(squares)
#输出
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
squares = [value+2 for value in [1,2,3]]
print(squares)
#输出
[3, 4, 5]