首页 > 解决方案 > 为什么不保留 .capitalize() 方法,但如果我这样做 .sort() 是?我该如何保留它?

问题描述

我想在我的字符串上运行 capitalize 方法然后将其打印出来,但它会打印原始字符串。但是,当我执行其他方法(例如排序)时,它会打印一个新的排序列表吗?为什么会这样?如何在没有大写方法作为打印语句的一部分的情况下获得大写字符串?

输入:

cat = ['cat', 'bird']
cat.sort()
print(cat)

cat = ['cat', 'bird']
cat[0].capitalize()
print(cat)

输出:

['bird', 'cat']
['cat', 'bird']

标签: python

解决方案


这是因为排序适用于实例并且是一个函数,而capitalize它是一个return执行某些操作然后返回它的方法,如果要将变量更改为大写版本,请使用:

cat = ['cat', 'bird']
cat[0] = cat[0].capitalize()
print(cat)

使用sort不会返回一些东西,而大写确实会返回一些东西,你没有将新值分配给列表中的项目。


推荐阅读