【发布时间】:2016-10-31 19:58:58
【问题描述】:
我有一个混合大小写的字符串,例如“aBcDeF”。 我想将所有小写字母大写,对于大写字母,如果它们是字母“B”,则仅将它们小写。意思是,我想要结果“AbCDEF”。 我试过在列表理解中这样做:
x = [str.upper(char) if char.islower()
else str.lower(char) if char == "B" for char in "aBcDeF"]
- 换行符只是为了阅读方便,在我的代码中它们被加入
但是,我收到以下语法错误:
Traceback (most recent call last):
File "python", line 11
else str.lower(char) if char == "B" for char in "aBcDeF"]
^
SyntaxError: invalid syntax
我查看过类似的问题,但没有人为我提供答案。
【问题讨论】:
-
[str.upper(char) if char.islower() else str.lower(char) if char == "B" else char for char in "aBcDeF"] -
这与列表推导无关;这只是正确使用条件表达式。
标签: python list python-3.x