在 Python 中将字符串中每个单词的第一个字母大写

msl*_*017 2 python string

Python 中的这个函数有一个小问题,它应该返回字符串中每个单词的第一个字母大写,其他所有字母都小写:

def titleize(phrase):
    split_phrase = phrase.split()

    for word in split_phrase:
        word.capitalize()

    return ' '.join(split_phrase)
Run Code Online (Sandbox Code Playgroud)

titleize('oNLy cAPITALIZe fIRSt') -> oNLy cAPITALIZe fIRSt

显然,问题在于被拆分的短语(我认为)的循环,我怀疑它不是变异而是创造了一些新的东西,但我一直在努力修复它。

小智 10

我可以建议使用内置str.title()函数吗?

def titleize(phrase):
    capitalize_first = phrase.title()
    return capitalize_first
    
print(titleize('oNLy cAPITALIZe fIRSt'))
Run Code Online (Sandbox Code Playgroud)

输出:

Only Capitalize First
Run Code Online (Sandbox Code Playgroud)