【发布时间】:2013-07-11 11:20:59
【问题描述】:
def manualReverse(list):
return list[::-1]
def reverse(list):
return list(reversed(list))
list = [2,3,5,7,9]
print manualReverse(list)
print reverse(list)
我刚开始学习Python。谁能帮我解决以下问题?
1.list[::-1]怎么会返回reversed列表?
2.为什么第二个函数会抛出我NameError: name 'reverse' is not defined?
【问题讨论】:
-
你把函数缩进得太远了;它没有在全局级别定义,所以
reverse是manualReverse中的一个本地 名称。取消缩进。 -
删除你的
def reverse,使其与def ManualReverse对齐 - 否则,你将定义一个函数inside 一个函数......缩进在 Python 中很重要 -
不要将变量命名为
list。这将覆盖内置名称list,一旦您修复缩进,确实会导致上面的代码出错。