我以为我理解了作业是如何工作的,但在运行这两段代码后,我意识到我现在很困惑。
这是在Python 3.3中:
numbers=[1,4,3]
hello=numbers.reverse()
print(hello)
None
当我print(numbers)
时,我得到[3,4,1]
这是我在打印hello
时所期望的。
另一个例子:
numbers='yeah'
hello=numbers.capitalize()
print(hello)
Yeah
为什么在将列表分配给第二个变量时,如第一个示例所示,在打印第二个变量时我得到None,但是在分配字符串时这不会发生?我在Python可视化工具中运行它,但是这仍然没有回答我关于如何/为什么这样做的问题。
答案 0 :(得分:3)
那是因为mem.dll
反转列表到位。
你的代码应该是:
numbers.reverse()
或者如果您不想修改原始列表numbers=[1,4,3]
numbers.reverse()
print(numbers)
,请将号码复制到hello:
numbers
方法的文档将始终告诉您方法是否到位(即它将您调用方法的对象更改为),或者返回结果
答案 1 :(得分:1)
与指定的文档一样,list.reverse()
“反转列表中的元素”,而str.capitalize()
“返回单词的副本,只有第一个字符大写。”
一个就地工作而另一个返回结果。