小写前 n 个字符

lowercase first n characters

我正在尝试将字符串中的前 n 个字符小写。

例如,假设我想将此字符串中的前 4 个字符小写:

String1 = 'HELPISNEEDED'

我希望输出如下所示:

String1 = 'helpISNEEDED'

我想我可以用这个:

String1 = String1[4].lower() + String1[5:]

但这给了我这个输出:

String1 = 'iSNEEDED'

知道我做错了什么吗?

您只选择了一个字符。对两个部分使用切片:

String1 = String1[:4].lower() + String1[4:]

请注意,第二个对象从 4 开始切片,而不是 5;你想跳过 'HELP',而不是 'HELPI':

>>> String1 = 'HELPISNEEDED'
>>> String1[:4].lower() + String1[4:]
'helpISNEEDED'

记住:开始索引是包含的,结束索引是不包含的; :4 选择索引 0、1、2 和 3,而 4: 选择索引 4 及以后的索引。

[4] 取第五个字符,要取前四个字符,您需要类似于 [5:](后五个字符),写 [:4].

很简单。检查你的代码。应该是:

String1=String1[:4].lower() + String1[4:]

不仅你忘记了这个 --> [:4] 。你还写了 's' 代替 String1

您只引用了 String1 中的单个字符,而是通过列表切片来实现:

String1.replace(String[:4],String1[:4].lower())