海象运算符:=

age=20

if age>18:

print("已经成年了")

等同于

if (age:= 20) > 18: print("已经成年了")

在运算的时候赋值

members = [
{"name": "小五", "age": 23, "height": 1.75, "weight": 72},
{"name": "小李", "age": 17, "height": 1.72, "weight": 63},
{"name": "小陈", "age": 20, "height": 1.78, "weight": 82},
]
count = 0
def get_bmi(info):
global count
count += 1
print(f"执行了 {count} 次")
height = info["height"]
weight = info["weight"]
return weight / (height ** 2)
# 查出所有会员中过于肥胖的人的 bmi 指数
fat_bmis = [get_bmi(m) for m in members if get_bmi(m) > 21]
print(fat_bmis)

执行了 1 次 执行了 2 次 执行了 3 次 执行了 4 次 执行了 5 次 执行了 6 次 [23.510204081632654, 21.29529475392104, 25.88057063502083]

在if条件语句执行为true的时候,会再调用get_bmi来计算生成list、

fat_bmis2 = [bmi for m in members if (bmi := get_bmi(m)) > 21]
print(fat_bmis2)

执行了 1 次 执行了 2 次 执行了 3 次 [23.510204081632654, 21.29529475392104, 25.88057063502083]

posted @   兔子春  阅读(389)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示