1、Python for循环
for循环用于遍历一个序列(列表,元组,字典,集合或字符串)。
这不太像其他编程语言中的for
关键字,而更像其他面向对象编程语言中的迭代器方法那样工作。
使用for
循环,我们可以执行语句,对列表,元组,集合等中的每个项目执行一次。基本语法如下,
for variable in sequence: # code block
例如:
langs = ["c", "java", "python","cjavapy"] for x in langs: print(x)
for
循环不需要预先声明索引变量。
2、for循环遍历字符串
即使字符串是可迭代的对象,它们也单个字符组成:
例如:
遍历 "cjavapy” 字符串中的字母:
for x in "cjavapy": print(x)
3、break语句
使用break语句,我们可以在循环遍历所有项目之前停止循环:
例如:
当x
为 "java" 时退出循环:
langs = ["c", "java", "python"]
for x in langs: print(x) if x == "java": break
例如:
当x
是 “java” 时退出循环,但是在print(x)
之前出现break:
langs = ["c", "java", "python"] for x in langs: if x == "java": break print(x)
4、continue语句
使用continue
语句,我们可以停止循环的当前迭代,然后继续下一个:
例如:
不要打印cjavapy:
langs = ["c", "java", "python","cjavapy"] for x in langs: if x == "python": continue print(x)
5、range()函数
要对一组代码进行指定次数的循环,可以使用range()
函数,
range()
函数返回一个数字序列,默认情况下从0开始,递增1(默认情况下),并以指定的数字结束。
例如:
使用range()函数:
for x in range(6): print(x)
注意:range(6)
不是0到6的值,而是0到5的值。
range()
函数默认将初始值设置为0,但是可以通过添加参数range(2,6)
来指定初始值:range(2,6)
中表示2到6(但不包括6)之间的值:
例如:
使用开始参数:
for x in range(2, 6): print(x)
range()
函数默认将序列递增1,但是可以通过添加第三个参数range(2,30,3)
来指定递增值:
例如:
用3递增序列(默认为1):
for x in range(2, 30, 3): print(x)
6、for循环语句中的else
for
循环中的else
关键字指定了循环结束时要执行的代码块:
例如:
打印输出从0到5的所有数字,并在循环结束时打印输出提示信息:
for x in range(6): print(x) else: print("Finally finished!")
7、遍历字典
Python 中遍历字典,可以通过多种方式来访问字典中的键、值或键值对。
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'} # 遍历字典的键 for key in my_dict: print(key) # 遍历字典的值 for value in my_dict.values(): print(value) # 遍历字典的键值对 for key, value in my_dict.items(): print(f"{key}: {value}")
8、使用 enumerate 获取索引和值
Python 中,enumerate()
函数可以在遍历序列时同时获取每个元素的索引和值。这在处理列表和其他可迭代对象时非常有用。
fruits = ['apple', 'banana', 'cherry'] for index, fruit in enumerate(fruits): print(f"Index {index}: {fruit}")
9、for循环嵌套
嵌套循环是循环中的循环。
“内层循环” 将针对 “外层循环” 的每次迭代执行一次:
例如:
打印输出列表:
adj = ["red", "big", "tasty"] langs = ["c", "java", "python"] for x in adj: for y in langs: print(x, y)
10、for循环中pass
for
循环不能为空,但是如果出于某种原因,for循环不包含任何内容,需要使用pass
语句,可以避免执行报错。
例如:
for x in [0, 1, 2]: pass