Python学习笔记——迭代(for、range)

本文详细介绍了Python中的for循环及其使用,包括迭代对象序列、指定循环次数、迭代字符串以及range函数的应用。同时,对比了for循环与while循环在迭代过程中的区别,强调了for循环在迭代范围上的不可变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

选代处理一个对象序列

for 循环迭代变量 in 序列:
for循环将序列中各个数据依次赋给一个循环选代变量,并执行相应操作。
for循环无需指定循环次数,它能自动迭代序列中的所有对象,且保证无遗漏

注意,Python中不仅可以迭代列表,还可以迭代各种序列序列是一个有序的对象集合
Python解释器可以迭代处理Python中的所有序列:列表、range()函数、字符串等

例1 对简单列表的迭代

>>> for i in [1,2,3]:
	print(i)

	
1
2
3

例2 指定循环次数

for可以用于迭代处理某个序列,也可以用于固定次数的循环

>>> for num in range(3):
	print("Hello world!")

	
Hello world!
Hello world!
Hello world!

使用range(3),我们获得了一个数字列表[0,1,2],本质原理与例1相同

例3 迭代字符串

>>> for ch in "Hi!":
	print(ch)

	
H
i
!

别忘了,Python中的字符串也是序列,同样能被迭代

例4 使用enumerate迭代

for i,item in enumerate(可迭代对象)
其中i给出索引,item给出元素

range函数

range(stop)range(start, stop[, ±step])
注意:结束值stop指示上限,但并不包含其本身

#使用range函数生成列表
>>> list(range(0,10,2))#注意,最后一项不包含10
[0, 2, 4, 6, 8]

>>> list(range(10,0,-2))#步长为负值
[10, 8, 6, 4, 2]

for迭代器与while的区别

for迭代中,要迭代的范围在第一句for中就已经固定好
在迭代中无法修改迭代变量的下一个值或迭代范围,即无法改变接下来的迭代情况

>>> n=5
>>> for i in range(n):
	print('i:',i,end=';  ')
	n-=1
	i+=1
	print('modified i:',i,end=';  ')
	print('n:',n)

	
i: 0;  modified i: 1;  n: 4
i: 1;  modified i: 2;  n: 3
i: 2;  modified i: 3;  n: 2
i: 3;  modified i: 4;  n: 1
i: 4;  modified i: 5;  n: 0

若想要像传统的for循环那样,在迭代过程中修改迭代范围,要用while

>>> n=5
>>> i=0
>>> while i<n:
	print('i:',i,end=';  ')
	n-=1
	i+=1
	print('modified i:',i,end=';  ')
	print('n:',n)

	
i: 0;  modified i: 1;  n: 4
i: 1;  modified i: 2;  n: 3
i: 2;  modified i: 3;  n: 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值