我试图用小写字母表示字符串中的前n个字符。
例如,假设我希望小写这个字符串中的前4个字符:
String1 = 'HELPISNEEDED'
我希望输出结果如下:
String1 = 'helpISNEEDED'
我想我可以用这个:
String1 = String1[4].lower() + String1[5:]
但是这给了我这个输出:
String1 = 'iSNEEDED'
知道我怎么做错了吗?
发布于 2016-01-08 07:38:35
你只选了一个角色。这两个部分都要使用一个切片:
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和更高。
发布于 2016-01-08 07:42:14
您只引用了String1
中的单个字符,而是使用列表切片:
String1.replace(String[:4],String1[:4].lower())
发布于 2016-01-08 07:38:43
[4]
取第五个字符,要取前四个字符,您需要,类似于[5:]
(最后五个字符),编写[:4]
。
https://stackoverflow.com/questions/34680657
复制