为了账号安全,请及时绑定邮箱和手机立即绑定

我可以在 Python 中将字符串中的特定字母大写吗?

我可以在 Python 中将字符串中的特定字母大写吗?

侃侃无极 2022-06-02 16:03:47
以免说我有这样的字符串:string = "hello world"我只想将实际字母大写,所以如果我选择第二个字母,我的输出应该如下所示:hEllo wold但是,如果我尝试例如:string[1].upper()我的输出是:hello world并不是:hEllo wold我不知道为什么...
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

这一行:

string[1].upper()

是不是按照你的想法去做。当然,它将 中的值大写string[1],但它会返回一个带有结果的新字符串!- 因为在 Python 中字符串是不可变的。现在,您可能会认为这会解决它:

string[1] = string[1].upper()

...但是不,这将失败,因为再一次 - 字符串是不可变的。您别无选择,只能创建一个新字符串,并通过一些逻辑来判断您想要大写的位置。例如,要将 index = 1 处的值大写:

''.join(c.upper() if i == 1 else c for i, c in enumerate(string))


查看完整回答
反对 回复 2022-06-02
?
哔哔one

TA贡献1854条经验 获得超8个赞

要仅大写字符串的一个字母,您必须将字符串从第 n 个位置开始的部分大写,并将其分配回变量:

string = string[:n] + string[n:].capitalize()


查看完整回答
反对 回复 2022-06-02
?
12345678_0001

TA贡献1802条经验 获得超5个赞

在 Python 中,字符串不可修改,因此您指定的操作将不起作用。


为了使这项工作,您可以将字符串转换为列表,然后将特定字符转换为大写,然后将结果连接回字符串。


sample_str="hello world"


sample_list=list(sample_str)                                           


sample_list[2]=sample_list[2].upper()


print(''.join(str(i) for i in sample_list))


查看完整回答
反对 回复 2022-06-02
  • 3 回答
  • 0 关注
  • 295 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号