我需要這個來反轉列表中的內容,如果它的數字或者單詞現在在我運行的時候,它會打印出None
。我需要它來打印反向列表。誰能幫忙?顛倒列表的順序
def func4(x):
print(x.reverse())
return;
e = ['baby','egg','chicken']
func4(e)
我需要這個來反轉列表中的內容,如果它的數字或者單詞現在在我運行的時候,它會打印出None
。我需要它來打印反向列表。誰能幫忙?顛倒列表的順序
def func4(x):
print(x.reverse())
return;
e = ['baby','egg','chicken']
func4(e)
您的代碼實際上按預期工作;它反轉清單就好了。它打印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
,所以沒有理由明確地做到這一點。
x.reverse()
不返回反轉列表,它只是反轉它。轉換後需要單獨撥打print(x)
。
你可以切片:
e = ['baby','egg','chicken']
f = e[::-1]
print(f)
爲什麼downvote?我同意這比'顛倒'方法更強大...... – 2014-12-08 01:59:30
一個簡單的方法與 「逆轉」 功能:
for str in reversed(e):
print(str)
這個固定謝謝 – clutchcocobean 2014-12-08 01:59:59