在Python中反转列表

the*_*ava 2 python reverse list

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)
Run Code Online (Sandbox Code Playgroud)

我刚开始学习Python.任何人都可以帮助我解决以下问题吗?

1.如何list[::-1]返回reversed列表?

为什么第二个功能会抛弃我NameError: name 'reverse' is not defined

Ter*_*ryA 13

[::-1]相当于[::1],但不是从左到右,负面使它从右到左.如果为负一步,则只返回相反顺序的所有元素.整个语法称为Python Slice Notation.

原因'reverse' is not defined是因为你没有全局定义它.它是manualReverse函数中的本地名称.您可以取消缩进该函数,使其成为全局函数.

def manualReverse(list):
    return list[::-1]

def reverse(list):
    return list(reversed(list))   
Run Code Online (Sandbox Code Playgroud)

顺便说一下,列出名单绝不是一个好主意list.它将覆盖内置类型,包括你依赖的函数(list(reversed(list)))