📜  Python其他循环(1)

📅  最后修改于: 2023-12-03 15:19:31.902000             🧑  作者: Mango

Python其他循环

除了常见的for循环和while循环之外,Python还提供了其他一些循环方式。

1. for...else循环

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!
2. while...else循环

与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!
3. zip循环

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
4. enumerate循环

enumerate()函数可以在循环中同时迭代索引和元素值。

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(index, ":", fruit)

输出:

0 : apple
1 : banana
2 : cherry
5. reversed循环

reversed()函数可以反转一个序列,并在循环中按反转后的顺序迭代元素。

fruits = ["apple", "banana", "cherry"]
for fruit in reversed(fruits):
    print(fruit)

输出:

cherry
banana
apple
6. sorted循环

sorted()函数可以按升序排列一个序列,并在循环中按排列后的顺序迭代元素。

fruits = ["apple", "banana", "cherry"]
for fruit in sorted(fruits):
    print(fruit)

输出:

apple
banana
cherry
7. any循环

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'
8. all循环

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还提供了多种其他循环方式,如列表推导式、生成器表达式、递归函数等,可以根据具体需求选择合适的循环方式。