首页 > 解决方案 > 在这种情况下,.capitalize() 在 Python 中不起作用

问题描述

给定一个单词列表(文本),我想取除第一个单词之外的每个单词并将其大写。它对 i.capitalize() 和 i = i.capitalize() 都不起作用。为什么?

def capitalize_words(text):
    for i in text[1:]:
        i.capitalize()
    return text

标签: pythonstringcapitalize

解决方案


您返回原始列表而不改变其值的问题。该行i.capitalize()对函数的输出没有影响。

相反,您可以填充一个新列表并将其返回,例如:

def capitalize_words(text):
    capit_text = []
    for i in text[1:]:
        capit_text.append(i.capitalize())
    return capit_text

或者,使用列表理解:

def capitalize_words(text):
    return [i.capitalize() for i in text[1:]]

推荐阅读