📅  最后修改于: 2023-12-03 15:19:31.902000             🧑  作者: Mango
除了常见的for循环和while循环之外,Python还提供了其他一些循环方式。
Python中的for循环也可以和else一起使用,只有在for循环中没有出现break
语句时,else语句才会被执行。
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
else:
print("No more fruits!")
输出:
apple
banana
cherry
No more fruits!
与for循环一样,while循环也可以和else一起使用,只有在while循环中没有出现break
语句时,else语句才会被执行。
i = 0
while i < 3:
print(i)
i += 1
else:
print("No more numbers!")
输出:
0
1
2
No more numbers!
zip()
函数可以将多个序列压缩成一个新的序列,而且还可以在循环时同时迭代多个序列。
fruits = ["apple", "banana", "cherry"]
prices = [0.5, 0.4, 0.3]
for fruit, price in zip(fruits, prices):
print(fruit, ": $", price)
输出:
apple : $ 0.5
banana : $ 0.4
cherry : $ 0.3
enumerate()
函数可以在循环中同时迭代索引和元素值。
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(index, ":", fruit)
输出:
0 : apple
1 : banana
2 : cherry
reversed()
函数可以反转一个序列,并在循环中按反转后的顺序迭代元素。
fruits = ["apple", "banana", "cherry"]
for fruit in reversed(fruits):
print(fruit)
输出:
cherry
banana
apple
sorted()
函数可以按升序排列一个序列,并在循环中按排列后的顺序迭代元素。
fruits = ["apple", "banana", "cherry"]
for fruit in sorted(fruits):
print(fruit)
输出:
apple
banana
cherry
any()
函数可以判断一个或多个条件是否成立,并在循环中返回第一个成立的结果。
fruits = ["apple", "banana", "cherry"]
if any("a" in fruit for fruit in fruits):
print("At least one fruit contains 'a'")
else:
print("No fruit contains 'a'")
输出:
At least one fruit contains 'a'
all()
函数可以判断一个或多个条件是否全部成立,并在循环中返回最后一个成立的结果。
fruits = ["apple", "banana", "cherry"]
if all("a" in fruit for fruit in fruits):
print("All fruits contain 'a'")
else:
print("Some fruits do not contain 'a'")
输出:
Some fruits do not contain 'a'
除了以上这些循环方式,Python还提供了多种其他循环方式,如列表推导式、生成器表达式、递归函数等,可以根据具体需求选择合适的循环方式。