2015-10-19 33 views
0

例如,這裏有一個函數,它接受5個參數,並反轉順序如何在不定義列表長度的情況下將列表作爲參數輸入?

def reverseList(a,b,c,d,e): 
    normalList = [a,b,c,d,e] 
    reverseList = reversed(normalList) 
    printedList = [] 
    for eachit in reverseList: 
     printedList.append(eachit) 

    print "This is the list that was entered: %r" % (normalList) 
    print "This is the same list, but in reverse: %r" % (printedList) 

我是新來的這一點,所以我無法弄清楚如何進入「自定義」列表中,例如不限制可以在該功能中輸入多少個數字。

+5

你可以使用'* args',但在這種情況下,我建議只是傳入一個列表... – mgilson

回答

3

只是通過一個列表,並返回函數列表逆轉:

>>> def reverseList(li): 
... return list(reversed(li)) 
... 
>>> reverseList(['a', 'b', 'c']) 
['c', 'b', 'a'] 

適用於任何長度的列表。


或者,如在評論中指出:

>>> def reverseList(li): 
... return li[::-1] 

如果你正在尋找一個variable length of arguments而不是一個列表的支持,使用*args與「圖示」 *這意味着你的功能正在取一個長度未知的元組(而不是命名位置參數):

>>> def reverseArgs(*args): 
... return args[::-1] 
... 
>>> reverseArgs('a', 'b', 'c', 'd') 
('d', 'c', 'b', 'a') 
+2

使用li [:: - 1]。最好的方式來[反向](http://stackoverflow.com/questions/3705670/best-way-to-create-a-reversed-list-in-python) – kmad1729

相關問題