循环控制语句和推导式、pass语句
break
- 终止所在的循环
for i in range(3):
for j in range(3):
print("hello")
break # 只终止所在的循环, 所以输出3个 hello
continue
- 跳过当前,继续到循环位置
a = 0
while a <= 5:
if a == 3:
a += 1
continue
print(a)
a += 1
推导式
列表推导式
由一对方括号里面包含一个表达式,后面跟一个 for 子句,然后是零个或多个 for 或 if 子句组成,其结果将是一个新列表,由表达式依据后面的 for 和 if 子 句的内容进行求值计算而得出
squares = []
for x in range(10):
squares.append(x**2)
# squares = [x**2 for x in range(10)]
# result = [(x, y) for x in [1,2,3] for y in [3,1,4] if x!= y]
result = []
for x in [1,2,3]:
for y in [3,1,4]:
if x != y:
result.append((x, y))
嵌套的列表推导式
- 列表推导式中的初始表达式可以是任何表达式,包括另一个列表推导 式
matrix = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]]
# result = [[row[i] for row in matrix] for i in range(4)]
# result = []
# for i in range(4):
# result.append([row[i] for row in matrix])
result = []
for i in range(4):
temp = []
for row in matrix:
temp.append(row[i])
result.append(temp)
字典推导式
dic = {x: x**2 for x in range(4)}
print(dic)
dic = {x: x**2 for x in range(6) if x % 2 == 0}
print(dic)
dic = {k: v for k, v in zip((1, 2, 3), (4, 5, 6))}
print(dic)
集合推导式
set1 = {x**2 for x in range(4)}
print(set1)
set1 = {x for x in 'abracadabra' if x not in 'abc'}
print(set1)
pass 语句
pass 是一个空操作, 当它被执行时, 什么都不发生。它适合当语法上需要一条语 句但并不需要执行任何代码时用来临时占位
num = int(input("请输入一个数字: "))
if num < 100:
pass
else:
pass