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

相关推荐

07-22 11:53
门头沟学院 Java
终于有一个保底的offer了,但感觉是白菜价
北凝a:我想问问,提前批的offer 有问你啥时候到岗吗,如果你还想找其他的怎么办
点赞 评论 收藏
分享
07-20 21:57
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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