列表生成式中的 if else
列表推导式总共有两种形式:
① [x for x in data if condition]
# 此处if主要起条件判断作用,data数据中只有满足if条件的才会被留下,最后统一生成为一个数据列表
② [exp1 if condition else exp2 for x in data]
# 此处if...else主要起赋值作用,当data中的数据满足if条件时将其做exp1处理,否则按照exp2处理,最后统一生成为一个数据列表
示例:
#1-100中3的倍数 p = [x for x in range(1,101) if x%3 == 0] #1-100中,不是3的倍数的数去相反数,其余的数保持不变 q = [x if x%3==0 else -x for x in range(1,101)] # 根据 v 是否为 datetime.time 类型来判断 (keys_list 和 item 都是列表;列表生成式生成字典时, else后面不用再写 k) {k: v if not isinstance(v, datetime.time) else v.strftime("%H:%M:%S") for k, v in zip(keys_list, item)})
end
Code your future.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步