Python语言基础
Python语言进阶
Python数据结构

Python for循环

搞懂Python程序中的for循环
for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。 这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。 通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。
Python 循环语句的控制结构图如下所示:

for 循环

Python 中 for 语句的一般形式:
for < variable:> in <sequence>:
    <statements>
else:
    <statements>
for循环打印列表:
animals = ["dog","cat","cow","lion"]
for item in animals:
    print(item)
else:
    print("循环执行结束,列表为空")
执行结果:
dog
cat
cow
lion
循环执行结束,列表为空

break 语句

for 实例中使用了 break 语句,break 语句用于跳出当前循环体:
animals = ["dog","cat","cow","lion"]
for item in animals:
    print(item)
    if (item == "cow"):
        break;
执行结果:
dog
cat
cow

continue 语句

for循环中使用 continue 语句,就可以停止当前的迭代,并继续下一个,通过以下实例可以看出如果 item 为 cow,则继续下一个迭代:
animals = ["dog","cat","cow","lion"]
for item in animals:
    if (item == "cow"):
        continue;
    print(item)
执行结果:
dog
cat
lion
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

pass 语句

Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,如下实例
while True:
    pass # 等待键盘中断 (Ctrl+C)
以下实例执行pass语句块:
animals = ["dog","cat","cow","lion"]
for item in animals:
    if (item == "cow"):
        pass;
        print("进入pass代码块")
    print(item)
执行结果:
dog
cat
进入pass代码块
cow
lion

range()函数

range 对象实现了一般序列的所有操作,class range(start, stop[, step])。
start:start 形参的值 (如果该形参未提供则为 0) stop:stop 形参的值 step:step 形参的值 (如果该形参未提供则为 1)
animals = ["dog","cat","cow","lion"]
for i in range(len(animals)):
    print(i)
执行结果:
0
1
2
3

for 循环嵌套

for循环嵌套,顾名思义就是for循环里还有for循环,当 2个以上的for循环结构时,解释器执行的流程为:
当外层循环条件为 True 时,则执行外层循环结构中的循环体,当内层循环的循环条件为 True 时会执行此循环中的循环体,直到内层循环条件为 False,跳出内循环; 如果此时外层循环的条件仍为 True,则返回第 2 步,继续执行外层循环体,直到外层循环的循环条件为 False; 当内层循环的循环条件为 False,且外层循环的循环条件也为 False,则整个嵌套循环才算执行完毕。
具体执行实例如下:
for i in range(2):
    for j in range(3):
        print("i为%d时,i+j的值为=%d"%(i,(i+j)))
执行结果:
i为0时,i+j的值为=0
i为0时,i+j的值为=1
i为0时,i+j的值为=2
i为1时,i+j的值为=1
i为1时,i+j的值为=2
i为1时,i+j的值为=3

冒泡排序

arr = [1,2,3,5,4,7,6,8]
# 第一层for表示循环的遍数
for i in range(len(arr) - 1):
    # 第二层for表示具体比较哪两个元素
    for j in range(len(arr) - 1 - i):
        if arr[j] >arr[j + 1]:
        # 如果前面的大于后面的,则交换这两个元素的位置
            arr[j], arr[j + 1] = arr[j + 1], arr[j]
print(arr)
执行结果:
[1, 2, 3, 4, 5, 6, 7, 8]

插入排序

arr = [1,2,3,5,4,7,6,8]
# 第一层for表示循环插入的遍数
for i in range(1, len(arr)):
    # 设置当前需要插入的元素
    current = arr[i]
    # 与当前元素比较的比较元素
    pre_index = i - 1
    while pre_index >= 0 and arr[pre_index] > current:
        # 当比较元素大于当前元素则把比较元素后移
        arr[pre_index + 1] = arr[pre_index]
        # 往前选择下一个比较元素
        pre_index -= 1
        # 当比较元素小于当前元素,则将当前元素插入在 其后面
    arr[pre_index + 1] = current
print(arr)
执行结果:
[1, 2, 3, 4, 5, 6, 7, 8]

插入排序

arr = [1,2,3,5,4,7,6,8]
# 第一层for表示循环插入的遍数
for i in range(1, len(arr)):
    # 设置当前需要插入的元素
    current = arr[i]
    # 与当前元素比较的比较元素
    pre_index = i - 1
    while pre_index >= 0 and arr[pre_index] > current:
        # 当比较元素大于当前元素则把比较元素后移
        arr[pre_index + 1] = arr[pre_index]
        # 往前选择下一个比较元素
        pre_index -= 1
        # 当比较元素小于当前元素,则将当前元素插入在 其后面
    arr[pre_index + 1] = current
print(arr)
执行结果:
[1, 2, 3, 4, 5, 6, 7, 8]

选择排序

arr = [1,2,3,5,4,7,6,8]
# 第一层for表示循环选择的遍数
for i in range(len(arr) - 1):
    # 将起始元素设为最小元素
    min_index = i
    # 第二层for表示最小元素和后面的元素逐个比较
    for j in range(i + 1, len(arr)):
        if arr[j] < arr[min_index]:
        # 如果当前元素比最小元素小,则把当前元素角标记为最小元素角标
            min_index = j
        # 查找一遍后将最小元素与起始元素互换
    arr[min_index], arr[i] = arr[i], arr[min_index]
print(arr)
执行结果:
[1, 2, 3, 4, 5, 6, 7, 8]
昵称: 邮箱:
study356 2020-09-21

什么是Python中的for循环?

Python中的for循环用于迭代序列(list,tuple,string)或其他可迭代对象,在序列上进行迭代称为遍历。


每次迭代中获取序列内项目值的变量。

循环继续,直到我们到达序列中的最后一项。使用缩进将for循环的主体与其余代码分开。

Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4