[英]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.