Pythonfor循环教程展示了如何使用for
语句在Python中创建循环。
Python循环定义
循环是一系列不断重复的指令,直到达到特定条件。例如,我们有一个项目集合,我们创建了一个循环来遍历该集合的所有元素。Python中的循环可以使用for
或while
语句创建。
Pythonfor语句
Pythonfor
语句按照它们在序列中出现的顺序迭代任何序列(例如列表或字符串)的项目。
for var in sequence: do_statement(s)
以上是Pythonfor
语句的一般语法。
带字符串的Pythonfor循环
以下示例使用Pythonfor
语句遍历字符串。
#!/usr/bin/python word = "cloud" for let in word: print(let)
我们定义了一个字符串。通过for
循环,我们将单词的字母一个一个地打印到终端。
$ ./for_loop_string.py c l o u d
Pythonfor循环else
for
循环有一个可选的else
语句,它在循环结束时执行。
#!/usr/bin/python words = ["cup", "star", "monkey", "bottle", "paper", "door"] for word in words: print(word) else: print("Finished looping")
我们使用for
循环遍历单词列表。当迭代结束时,我们打印位于正文中else
关键字之后的“Finishedlooping”消息。
$ ./for_loop_else.py cup star monkey bottle paper door Finished looping
带范围的Pythonfor循环
Pythonrange
函数生成一个数字列表。
range(n)
该函数生成数字0…n-1。
range(start, stop, [step])
该函数生成一个数字序列;它以start
开始,以stop
结束,不包含在序列中。step
是增量,如果不提供则默认为1.
借助range
函数,我们可以将一个代码块重复n次。
#!/usr/bin/python for i in range(1, 6): print(f"Statement executed {i}")
代码示例执行代码块五次。
$ ./repeating_statement.py Statement executed 1 Statement executed 2 Statement executed 3 Statement executed 4 Statement executed 5
在下一个示例中,我们使用for
循环生成两个整数序列。
#!/usr/bin/python for n in range(1, 11): print(n, end=' ') print() for n in range(0, 11, 2): print(n, end=' ') print()
该示例打印两个整数序列:1,2,…10和0,2,…10。
$ ./for_loop_range.py 1 2 3 4 5 6 7 8 9 10 0 2 4 6 8 10
Python遍历元组和列表
使用Pythonfor
循环,我们可以轻松遍历Python元组和列表。
#!/usr/bin/python nums = (1, 2, 3, 4, 5, 6) words = ["cup", "star", "monkey", "bottle"] for n in nums: print(n, end=' ') print() for word in words: print(word, end=' ') print()
代码示例打印元组和列表的元素。
$ ./for_loop_tuple_list.py 1 2 3 4 5 6 cup star monkey bottle
Python循环索引
有时我们还需要获取元素的索引;为此,我们可以使用enumerate
函数。
#!/usr/bin/python words = ("cup", "star", "monkey", "bottle", "paper", "door") for idx, word in enumerate(words): print(f"{idx}: {word}")
借助enumerate
函数,我们打印列表的元素及其索引。
$ ./for_loop_index.py 0: cup 1: star 2: monkey 3: bottle 4: paper 5: door
Python遍历字典
在下面的例子中,我们遍历了一个Python字典。
#!/usr/bin/python data = { "de": "Germany", "sk": "Slovakia", "hu": "Hungary", "ru": "Russia" } for k, v in data.items(): print(f"{k} is an abbreviation for {v}")
代码示例打印Python字典的键和值。
$ ./for_loop_dictionary.py sk is an abbreviation for Slovakia ru is an abbreviation for Russia hu is an abbreviation for Hungary de is an abbreviation for Germany
Python嵌套for循环
可以将一个for
循环嵌套到另一个循环中。
#!/usr/bin/python nums = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for i in nums: for e in i: print(e, end=' ') print()
我们有一个二维整数列表。我们使用两个for
循环遍历元素。
$ ./for_loop_nested.py 1 2 3 4 5 6 7 8 9
带zip的Pythonfor循环
zip
函数从给定的可迭代对象创建一个迭代器。
#!/usr/bin/python words1 = ["cup", "bottle", "table", "rock", "apple"] words2 = ["trousers", "nail", "head", "water", "pen"] for w1, w2 in zip(words1, words2): print(w1, w2)
在示例中,我们在一个for
循环中迭代两个列表。
$ ./for_loop_zip.py cup trousers bottle nail table head rock water apple pen
Python循环自定义iterable
在下一个示例中,我们循环一个自定义的可迭代对象。
#!/usr/bin/python import random def myrandom(x): i = 0 while i < x: r = random.randint(0, 100) yield r i = i + 1 for r in myrandom(5): print(r)
代码示例创建了一个生成随机整数的生成器函数。通过for
循环,我们生成了五个随机整数。
$ ./for_loop_custom_iterable.py 14 43 53 44 70
这是一个示例输出。
带break的Pythonfor循环
break
语句终止for
循环。
#!/usr/bin/python import random import itertools for i in itertools.count(): val = random.randint(1, 30) print(val) if val == 22: break
在示例中,我们创建了一个无限的for
循环。我们从1…29生成并打印随机数。如果生成的数字等于22,则for
循环以break
关键字结束。
$ ./for_loop_break.py 7 27 2 27 7 9 3 25 15 22
这是一个示例输出。
带continue的Pythonfor循环
continue
关键字用于中断当前循环,而不跳出整个循环。它启动了一个新的循环。
#!/usr/bin/python num = 0 for num in range(1000): num = num + 1 if num % 2 == 0: continue print(num, end=' ') print()
我们打印所有小于1000且不能除以数字2且无余数的数字。
在本教程中,我们使用了Pythonfor循环。
列出所有Python教程。