blz*_*blz 5 python list python-3.x
我有一个混合大小写的字符串,例如"aBcDeF".我希望将所有小写字母大写,而对于大写字母,如果它们是字母'B',则只小写它们.意思是,我想要结果"AbCDEF".我已尝试在列表理解中这样做:
x = [str.upper(char) if char.islower()
else str.lower(char) if char == "B" for char in "aBcDeF"]
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下语法错误:
Traceback (most recent call last):
File "python", line 11
else str.lower(char) if char == "B" for char in "aBcDeF"]
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我已经回顾了类似的问题,但没有人给我答案.
坚持你的if-else
列表理解精神.
print([str.lower(char) if char.isupper() and char =='B' else str.upper(char) for char in "aBcDeF"])
Run Code Online (Sandbox Code Playgroud)
打印:
['A', 'b', 'C', 'D', 'E', 'F']
Run Code Online (Sandbox Code Playgroud)
[char.upper() if char != 'B' else char.lower() for char in "aBcDeF"]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2531 次 |
最近记录: |