【发布时间】:2017-11-22 21:55:27
【问题描述】:
一直在尝试从 Java 过渡到 Python,但我在编写遍历字符串的循环时遇到了困难。
如您所见,我尝试访问每个索引以检查其大小写。如果该字母是大写字母,则我们将其小写,反之亦然。
如果我已经对该特定索引进行更改,我不确定为什么它会返回未更改的字符串
def swap_case(s):
for x in range(len(s)):
if s[x].isupper():
s[x].lower()
if s[x].islower():
s[x].upper()
return s
【问题讨论】:
-
字符串是不可变的。
s[x].lower()返回一个新字符串,你必须对它做点什么。 -
如果 s 是一个字符串,那么你可以这样做
s.swapcase() -
另外,由于缺少 elif,您的两个条件将相互覆盖
-
你没有保存结果,也没有打电话给
upper。 -
s是字符串还是列表?问题说“遍历列表”,然后说“返回未更改的字符串”
标签: python case-sensitive