python列表生成式一行代码怎么容纳多重选择elif?

有字符串 s="abcdABCDZ"
要求:对于小写字母,对应位置替换为0,大写字母替换为1,如果是大写字母Z,则保持不变
预期结果"00001111Z"
"".join( [0 if i.islower() else i.isupper() and i!="Z" 1 for i in s])
SyntaxError: invalid syntax
请问这个应该怎么写成一行的列表生成形式?
#Python#
全部评论
s=''.join(['0' if i.islower() else 'Z' if i=='Z' else '1' for i in s])
1 回复 分享
发布于 2022-03-04 16:30
网上能搜到
点赞 回复 分享
发布于 2022-03-04 16:30
同求同求,有了踹我一脚
点赞 回复 分享
发布于 2022-02-25 21:20

相关推荐

不愿透露姓名的神秘牛友
昨天 17:51
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务