Python 循环


Python 中的 For 循环

Python For 循环用于顺序遍历,即它用于迭代可迭代对象,如String、Tuple、List、Set或Dictionary。

注意:Python中,for 循环仅实现基于集合的迭代。

For 循环语法

for var in iterable:
    # statements

for循环流程图

For 循环流程图

For 循环流程图

这里的可迭代对象是列表和元组等对象的集合。for 循环内的缩进语句对可迭代对象中的每个项目执行一次。每次循环时,变量 var 都会获取 iterable 的下一项的值。

Python For 循环示例

带列表的 Python For 循环

此代码使用 for 循环遍历字符串列表,在新行上打印列表中的每个项目。循环将每个项目分配给变量 I 并继续,直到处理完列表中的所有项目。

  • Python3
# Python program to illustrate
# Iterating over a list
l = ["geeks", "for", "geeks"]

for i in l:
    print(i)

输出 :

geeks
for
geeks

Python 字典中的 Python For 循环

此代码使用 for 循环遍历字典并在新行上打印每个键值对。该循环将每个键分配给变量 i 并使用字符串格式来打印键及其对应的值。

  • Python3
# Iterating over dictionary
print("Dictionary Iteration")

d = dict()

d['xyz'] = 123
d['abc'] = 345
for i in d:
    print("% s % d" % (i, d[i]))

输出:

Dictionary Iteration
xyz  123
abc  345

Python 字符串中的 Python For 循环

此代码使用 for 循环遍历字符串在新行上打印每个字符。循环将每个字符分配给变量 i 并继续,直到处理完字符串中的所有字符。

  • Python3
# Iterating over a String
print("String Iteration")

s = "Geeks"
for i in s:
    print(i)

输出:

String Iteration
G
e
e
k
s

具有步长的 Python For 循环

此代码结合使用 for 循环和range()函数来生成一个数字序列,从 0 开始,直到(但不包括)10,步长为 2。对于序列中的每个数字,循环使用 print() 函数打印它的值。输出将显示数字 0、2、4、6 和 8。

  • Python3
for i in range(0, 10, 2):
    print(i)

输出 :

0
2
4
6
8

For 循环中的 Python For 循环

此代码使用嵌套的 for 循环迭代两个数字范围(包括 1 到 3)并为两个循环的每个组合打印 i 和 j 的值。对外循环中 i 的每个值执行内循环。此代码的输出将打印从 1 到 3 的数字三次,因为 i 的每个值都与 j 的每个值组合。

  • Python3
for i in range(1, 4):
    for j in range(1, 4):
        print(i, j)

输出 :

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

带有 Zip() 的 Python For 循环

此代码使用zip()函数并行迭代两个列表(水果和颜色)。for 循环在每次迭代中将两个列表的相应元素分配给变量 fruit 和 color。在循环内部,print() 函数用于显示水果和颜色值之间的消息“是”。输出将显示水果列表中的每个水果及其颜色列表中的相应颜色。

  • Python3
fruits = ["apple", "banana", "cherry"]
colors = ["red", "yellow", "green"]
for fruit, color in zip(fruits, colors):
    print(fruit, "is", color)

输出 :

apple is red
banana is yellow
cherry is green

带元组的 Python For 循环

此代码使用带有元组解包的 for 循环遍历元组的元组。在每次迭代中,来自内部元组的值分别分配给变量 a 和 b,然后使用 print() 函数打印到控制台。输出将显示来自内部元组的每对值。

  • Python3
t = ((1, 2), (3, 4), (5, 6))
for a, b in t:
    print(a, b)

输出 :

1 2
3 4
5 6

循环控制语句

循环控制语句改变其正常顺序的执行。当执行离开范围时,在该范围内创建的所有自动对象都将被销毁。Python 支持以下控制语句。

带有 Continue 语句的 Python for 循环

Python 的continue 语句将控制权返回到循环的开头。

  • Python3
# Prints all letters except 'e' and 's'

for letter in 'geeksforgeeks':

    if letter == 'e' or letter == 's':
        continue
    print('Current Letter :', letter)

输出:

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k

带有 Break 语句的 Python For 循环

Python break 语句将控制带出循环。

  • Python3
for letter in 'geeksforgeeks':

    # break the loop as soon it sees 'e'
    # or 's'
    if letter == 'e' or letter == 's':
        break

print('Current Letter :', letter)

输出:

Current Letter : e

带有 Pass 语句的 Python For 循环

编写空循环的pass 语句。Pass 也用于空的控制语句、函数和类。

  • Python3
# An empty loop
for letter in 'geeksforgeeks':
    pass
print('Last Letter :', letter)

输出:

Last Letter : s

具有范围函数的Python for循环

Python range() 函数用于生成数字序列。根据用户传递给函数的参数数量,用户可以决定这一系列数字的开始和结束位置,以及一个数字与下一个数字之间的差异有多大。range() 主要采用三个参数。

  • start:返回整数序列的起始整数
  • stop:整数,在此之前要返回整数序列。 整数范围以停止 - 1 结束。
  • step:整数值,它确定序列中每个整数之间的增量。

  • Python3

# Python Program to
# show range() basics

# printing a number
for i in range(10):
    print(i, end=" ")

# performing sum of first 10 numbers
sum = 0
for i in range(1, 10):
    sum = sum + i
print("\nSum of first 10 numbers :", sum)

输出:

0 1 2 3 4 5 6 7 8 9 
Sum of first 10 numbers : 45

Else 与 Python 中的 For 循环

Python 还允许我们对循环使用 else 条件。仅当循环未被 break 语句终止时,才执行 for/while 之后的 else 块。

  • Python3
# Python program to demonstrate
# for-else loop

for i in range(1, 4):
    print(i)
else: # Executed because no break in for
    print("No Break\n")

输出:

1
2
3
No Break


原文链接:codingdict.net