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
?在
Tags:
只需反向使用内置函数
见http://docs.python.org/2/library/functions.html?highlight=reversed#reversed
list[::-1]
使用切片表示法并以相反的顺序返回所有元素。 Explain Python's slice notation 这里有一个详细的解释和例子-它将回答这个问题和更多类似的问题。在def reverse(list)
的缩进使其仅在manualReverse(list)
内可见。 如果你不凹入,它将在全球范围内可见。在[::-1]
相当于[::1]
,但是负数不是从左到右,而是从右到左。如果步骤为负,则只会以相反的顺序返回所有元素。整个语法称为Python Slice Notation。在'reverse' is not defined
的原因是您没有全局定义它。它是manualReverse
函数中的本地名称。可以取消该函数的缩进,使其成为全局函数。在顺便说一句,给列表命名
list
并不是一个好主意。它将重写您所依赖的内置类型,包括函数(list(reversed(list))
)相关问题 更多 >
编程相关推荐