【for 循环和可迭代对象遍历标题、推导式、函数、返回值】

本文介绍了如何在Python中使用for循环遍历可迭代对象,包括推导式和函数的应用。同时,讨论了Project Interpreter的选择,推荐在新建项目中使用New Environment并指定系统Python解释器,以实现依赖隔离。
摘要由CSDN通过智能技术生成
for 循环和可迭代对象遍历
for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下:
for 变量
in 可迭代对象:
循环体语句
【操作】遍历一个元组或列表
for x in (20,30,40):
print(x*3)
可迭代对象
Python 包含以下几种可迭代对象:
1. 序列。包含:字符串、列表、元组
2. 字典
3. 迭代器对象(iterator)
4. 生成器函数(generator)
5. 文件对象
我们已经在前面学习了序列、字典等知识,迭代器对象和生成器函数将在后面进行详解。接
下来,我们通过循环来遍历这几种类型的数据:
【操作】遍历字符串中的字符
for x in "sxt001":
print(x)
【操作】遍历字典
d = {'name':'gaoqi','age':18,'address':'西三旗 001 号楼'}
for x in d: #遍历字典所有的 key
print(x)
for x
in d.keys():#遍历字典所有的 key
print(x)
for x
in d.values():#遍历字典所有的 value
print(x)
for x
in d.items():#遍历字典所有的"键值对"
print(x)
range 对象
range 对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:
range(start, end [,step])
生成的数值序列从 start 开始到 end 结束(不包含 end)。若没有填写 start,则默认从 0 开始。step 是可选的步长,默认为 1。如下是几种典型示例:
for i in range(10)
产生序列:0 1 2 3 4 5 6 7 8 9
for i in range(3,10)
产生序列:3 4 5 6 7 8 9
for i in range(3,10,2)
产生序列:3 5 7 9
嵌套循环和综合练习
一个循环体内可以嵌入另一个循环,一般称为“嵌套循环”,或者“多重循环”。
break 语句
break 语句可用于 while 和 for 循环,用来结束整个循环。当有嵌套循环时,break 语句只能跳出最近一层的循环。
【操作】使用 break 语句结束循环
while True:
a = input("请输入一个字符(输入 Q 或 q 结束)")
if a.upper()=='Q':
print("循环结束,退出")
break
else:
print(a)
continue 语句
continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最近的一层循环。
else 语句
while、for 循环可以附带一个 else 语句(可选)。如果 for、while 语句没有被 break 语句
结束,则会执行 else 子句,否则不执行。语法格式如下: 
while 条件表达式:
循环体
else:
语句块
或者:
for 变量 in 可迭代对象:
循环体
else:
语句块
循环代码优化
虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上“斤斤计较”。编写循环 时,遵守下面三个原则可以大大提高运行效率,避免不必要的低效计算:
1. 尽量减少循环内部不必要的计算
2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
3. 局部变量查询较快,尽量使用局部变量
#循环代码优化测试
import time
start = time.time()
for i in range(1000):
result = []
for m in range(10000):
result.append(i*1000+m*100)
end = time.time()
print("耗时:{0}".format((end-start)))
start2 = time.time()
for i in range(1000):
result = []
c = i*1000
for m in range(10000):
result.append(c+m*100)
end2 = time.time()
print("耗时:{0}".format((end2-start2)))
其他优化手段
1.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值