簡體   English   中英

在Python中反轉列表

[英]Reversing a list in Python

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

[::-1]相當於[::1] ,但不是從左到右,而是從右到左。 如果為負一步,則只返回相反順序的所有元素。 整個語法稱為Python Slice Notation

'reverse' is not defined的原因是因為您沒有全局定義它。 它是manualReverse函數中的本地名稱。 您可以取消縮進該函數,使其成為全局函數。

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

def reverse(list):
    return list(reversed(list))   

順便說一下,列出list永遠不是一個好主意。 它將覆蓋內置類型,包括你依賴的函數( list(reversed(list))

list[::-1]使用切片表示法並返回所有元素,但順序相反。 解釋Python的切片符號下面是一個帶有示例的詳細解釋 - 它將回答這個問題以及更多類似的問題。

def reverse(list)縮進使其僅在manualReverse(list)可見。 如果你是unindent,它將在全球范圍內變得可見。

只需使用內置功能反轉

>>> reversed(my_list)

http://docs.python.org/2/library/functions.html?highlight=reversed#reversed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM