Python循环居然可以这样学?!惊呆了!!!

一、Iterable可迭代类型

在Python中,Iterable(可迭代类型)是一个非常重要的概念,它指的是可以被迭代(即依次处理其中的元素)的对象。这些对象通常拥有一个__iter__()方法,该方法会返回一个迭代器(Iterator),迭代器则通过其__next__()(在Python 2中是next())方法按顺序返回容器中的元素,直到所有元素被遍历完毕。

Python中的很多内置类型都是可迭代的,包括但不限于:

  • 列表(List)
  • 元组(Tuple)
  • 字典(Dictionary,但迭代的是其键的视图)
  • 集合(Set)
  • 字符串(String)
  • 生成器(Generator)
  • 文件对象(用于读取时)
  • 以及其他任何实现了__iter__()方法的自定义对象

 举例说明:

# 使用列表作为可迭代对象  
my_list = [1, 2, 3, 4, 5]  
  
# 获取迭代器  
my_iterator = iter(my_list)  
  
# 使用next()遍历迭代器  
while True:  
    try:  
        # 获取下一个元素  
        element = next(my_iterator)  
        print(element)  
    except StopIteration:  
        # 如果没有元素了,则StopIteration异常被抛出  
        break  
  
# 或者使用for循环,它会自动处理StopIteration异常  
for element in my_list:  
    print(element)

可迭代类型都可以使用len()获取长度:

print(len(range(10)))

注意事项

  • 迭代器是单向的,并且只能遍历一次。这意味着一旦迭代器的元素被遍历完,它就不能再从头开始遍历了。如果需要再次遍历,必须重新创建一个新的迭代器。
  • 虽然大多数时候我们直接使用for循环等高级语法来遍历可迭代对象,但了解迭代器和可迭代对象的底层原理对于深入理解Python的迭代机制非常有帮助。

二、 for的两种常见形式

for循环的两种常见形式主要基于其遍历的对象类型,但本质上它们都是迭代过程的不同应用。以下是两种常见的for循环形式:

1.range可以提供循环变量 把range中的每一个元素依次赋予i

for i in range(3,5):
    print(f"wwww{i}")

需要注意的是 for i in range(len(字符串)) 其中的i代表字符串中字符的索引

2.将字符串中的每个字符依次赋值给char

for char in "abcdefghijklmn":
    print(char)

需要注意的是,尽管这两种形式在使用上有所不同,但它们都是for循环在Python中的常见用法,展示了for循环在遍历不同类型数据和执行基于范围的迭代时的灵活性。

三、 break与continue

1.break

break是停止循环,执行循环结束后的代码

for i in range(1, 6):  
    if i == 3:  
        break  # 当i等于3时,退出循环  
    print(i)  
  
# 输出:1 2

2.continue

continue是跳过本次循环,执行下一次循环,注意是并没有结束循环

for i in range(1, 6):  
    if i % 2 == 0:  
        continue  # 如果i是偶数,跳过本次循环的剩余部分  
    print(i)  
  
# 输出:1 3 5

四、 for与else

如果for中执行了break就不再执行else,也就是for循环意外结束

如果for循环正常结束,没有执行break,执行else,意思是break 与 for 不能同时执行,二者选其一

for i in range(1, 6):  
    if i == 3:  
        break  
    print(i)  
else:  
    print("哇哇哇") 
for i in range(1, 6):  
    print(i)  
else:  
    print("程序正常结束!")

五、 循环嵌套

  • 外层循环:最外层的循环,通常控制较大的迭代范围或数据集。
  • 内层循环:嵌套在外层循环内部的循环,其执行次数或范围可能依赖于外层循环的当前迭代值

        总结下来就是,外层循环变化一次 内层循环变化一轮

# 定义一个二维数组(矩阵)  
matrix = [  
    [1, 2, 3],  
    [4, 5, 6],  
    [7, 8, 9]  
]  
  
# 使用嵌套循环遍历矩阵  
for i in range(len(matrix)):  # 外层循环遍历行  
    for j in range(len(matrix[i])):  # 内层循环遍历列  
        print(matrix[i][j], end=" ")  
    print()  # 换行,以便更清晰地查看矩阵结构

输出:

1 2 3   
4 5 6   
7 8 9

通过合理使用循环嵌套,可以有效地处理各种复杂的遍历和迭代任务。

总结

以上就是我这个萌新小白对python循环的理解,有不足之处还请多多指教,我们下期再见!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值