2014-12-08 288 views
1

我需要這個來反轉列表中的內容,如果它的數字或者單詞現在在我運行的時候,它會打印出None。我需要它來打印反向列表。誰能幫忙?顛倒列表的順序

def func4(x): 
    print(x.reverse()) 
    return; 
e = ['baby','egg','chicken'] 
func4(e) 

回答

5

您的代碼實際上按預期工作;它反轉清單就好了。它打印None的原因是因爲list.reverse是始終返回None的就地方法。

正因爲如此,你應該呼籲自己的行reverse

def func4(x): 
    x.reverse() 
    print(x) 
e = ['baby','egg','chicken'] 
func4(e) 

現在,print將打印逆轉列表,而不是由reverse返回None

請注意,相同的原則適用於list.append,list.extend以及幾乎所有其他在Python中改變對象的方法。

此外,我從函數的結尾刪除了返回語句,因爲它沒有做任何有用的事情。 Python函數默認已經返回None,所以沒有理由明確地做到這一點。

+0

這個固定謝謝 – clutchcocobean 2014-12-08 01:59:59

2

x.reverse()不返回反轉列表,它只是反轉它。轉換後需要單獨撥打print(x)

3

你可以切片:

e = ['baby','egg','chicken'] 
f = e[::-1] 
print(f) 
+3

爲什麼downvote?我同意這比'顛倒'方法更強大...... – 2014-12-08 01:59:30

1

一個簡單的方法與 「逆轉」 功能:

for str in reversed(e): 
    print(str)