我试图小写字符串中的前n个字符。
例如,假设我想要小写此字符串中的前4个字符:
String1 = 'HELPISNEEDED'
我希望输出看起来像这样:
String1 = 'helpISNEEDED'
我以为我可以用这个:
String1 = String1[4].lower() + String1[5:]
但是这给了我这个输出:
String1 = 'iSNEEDED'
有关我如何做错的任何想法?
答案 0 :(得分:12)
您只选择一个字符。对两个部分使用切片:
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及以后。
答案 1 :(得分:4)
您只引用String1
中的单个字符,而不是使用列表切片:
String1.replace(String[:4],String1[:4].lower())
答案 2 :(得分:2)
[4]
需要第五个字符,前四个,您需要,与[5:]
(后五个)类似,写[:4]
。
答案 3 :(得分:0)
很简单。检查你的代码。它应该是:
String1=String1[:4].lower() + String1[4:]
不仅你忘了这个 - > [:4]。你也写了's'来代替String1