2017-02-27 27 views
1

我需要幫助完成函數集上的賦值。 我應該創建一個方法,將一個函數設置並返回爲一個反函數集。在Python中設置反函數

一個功能集:

f = [[1,4],[2,5],[3,6] 

應返回:

fInv = [[4,1],[5,2],[6,3]] 

這裏是我的代碼:

def inverse(f): 
    fInv = [] 
    for i in range(len(f)): 
    count = len(f[0]) 
    for j in range(len(f[0])): 
     fInv[i][j] = f[i][count] 
     count-=1 
    return fInv 
    return None 

f = [[1,4],[2,5],[3,6]] 
print(inverse(f)) 

運行時,它顯示:

Traceback (most recent call last): 
File "python", line 11, in <module> 
File "python", line 5, in inverse 
IndexError: list index out of range 

我還是使用python編程的新手,所以請理解這個問題可能是一個簡單的邏輯錯誤。

+0

'計數= LEN(F [0])'。你的意思是len(f [0]) - 1'? – Jean

+0

謝謝你讓我知道。我明白爲什麼。 –

回答

1

嘗試list.reverse()方法:

反轉列表中的元素,到位。

f = [[1,4],[2,5],[3,6]] 
for i in f: 
    i.reverse() 

print f 

輸出:

[[4, 1], [5, 2], [6, 3]] 
+0

感謝您的提示。 –

0

的最簡單的解決方案將是使用一個列表理解該解包在相反的順序中的每個對,然後重新包裝:

>>> f = [[1,4],[2,5],[3,6]] 
>>> [[b, a] for [a, b] in f] 
[[4, 1], [5, 2], [6, 3]]