python学习(第五节)

本文深入讲解了程序设计中的选择结构和循环结构,包括单分支、双分支、多分支选择结构及while、for循环的使用方法。同时介绍了条件表达式的真假判断、循环结构的优化技巧、推导式创建序列的方法等关键知识点。

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

程序结构

选择结构
#-------------------伪代码-----------------------------#
# 1.单分支选择结构
if 条件表达式:
	语句体
# 2.双分支选择结构
if 条件表达式:
	语句体1
else:
	语句体2
# 3.多分支选择结构
if 条件表达式1:
	语句体1
elif 条件表达式2:
	语句体2
...
else:
	语句体n
# 4.三元条件运算符
value = 条件为真时的值 if 条件表达式 else 条件为假时的值
# 注:条件表达式中不能出现赋值操作符(=)
#----条件表达式为False的情况:
#	False、0、0.0、None(空值)、空序列对象(列表、元组、集合、字典、字符串)、空range对象、空迭代对象
#----------------------------------------------------------------------------------------
循环结构
#------------------------伪代码---------------------------#
# 1.while循环
while 条件表达式:
	语句体
# 2.for循环
for 变量 in 可迭代对象:
	语句体
# 注:for循环中的变量,在循环外仍可获取但不可对其进行修改
# 可迭代对象:元组、字符串、列表、字典、集合、迭代器对象、生成器函数
# 3.break结束循环(对于嵌套循环只结束所在层的循环)
# 4.continue结束本次循环
# 5.else语句:循环正常结束执行else下的语句,若被break中断则不执行else下的语句
while 条件表达式:
	语句体1
else:
	语句体2
# 注:for循环与while循环类似
# 6.zip()并行迭代:迭代结果取决于长度最短的对象
tup = (1,2,3)
lt = [1,2,3,4]
st = {1,2,3,4}
d = {1:0,2:0,3:0,4:0}
for i in zip(tup,lt,st,d):
	print(i)
# 结果:(1, 1, 1, 1)
#		(2, 2, 2, 2)
#		(3, 3, 3, 3)

循环结构代码优化
1.尽量减少内部不必要的计算
2.嵌套循环中,尽量减少内层循环计算,尽可能向外提
3.局部变量查询较快,尽量使用局部变量
其他优化:
1.字符串连接,使用join()方法,而使用+
2.列表元素插入、删除尽量在尾部进行

推导式创建序列

列表推导式
lt = [表达式 for 变量 in 可迭代对象[ if 条件表达式]]
lt = [x**2 for x in range(10)] # lt=[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
lt = [x**2 for x in range(10) if x%2==0] # lt=[0, 4, 16, 36, 64]
lt = [(x,y) for x in range(3) for y in range(3)] # 效果与嵌套循环类似
# lt=[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
字典推导式
dr = {key表达式:value表达式 for 变量 in 可迭代对象[ if 条件表达式]}
items = [("key1","value1"),("key2","value2"),("key3","value3")]
dr = {item[0]:item[1] for item in items}
# dr={'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
集合推导式
lt = {表达式 for 变量 in 可迭代对象[ if 条件表达式]}
lt = {x**2 for x in range(10)} # lt={0, 1, 4, 9, 16, 25, 36, 49, 64, 81}
生成器推导式
lt = (表达式 for 变量 in 可迭代对象[ if 条件表达式])
lt = (x**2 for x in range(10)) # type(lt) = <class 'generator'>
lt = list(lt) # lt=[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值