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-02-25 21:20
网上能搜到
点赞 回复 分享
发布于 2022-03-04 16:30

相关推荐

昨天 20:43
西北大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务