python - 在这种情况下,.capitalize() 在 Python 中不起作用
问题描述
给定一个单词列表(文本),我想取除第一个单词之外的每个单词并将其大写。它对 i.capitalize() 和 i = i.capitalize() 都不起作用。为什么?
def capitalize_words(text):
for i in text[1:]:
i.capitalize()
return text
解决方案
您返回原始列表而不改变其值的问题。该行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:]]
推荐阅读
- date - 在 dart/Flutter 中解析日期以计算日差
- linux - 运行 docker 容器的问题包含 golang 项目
- docker - Docker 容器中的 Hugo 服务器在 Windows 10 中无法访问
- database - 没有功能依赖的关系模式的规范化
- mysql - '\xE7' 使用的正确字符集是什么
- r - 如何一次将数据帧中的多个不同相关矩阵成对转换?
- angular - “NullInjectorError: StaticInjectorError(AppModule)” DI 的新(角度 6+)方法出现错误
- mysql - MySQL - “删除用户”与“从用户中删除”
- racket - 定义:函数体只需要一个表达式,但发现了 1 个额外的部分
- android - SQLiteLog:(1)“事务”附近:语法错误