2017-02-27 3 views
1

Ich brauche Hilfe bei meiner Zuweisung von Funktionssätzen. Ich soll eine Methode erstellen, die einen Funktionssatz übernimmt und als Umkehrfunktionssatz zurückgibt.Inverse eine Funktion in Python gesetzt

Ein Satz Funktion:

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

Sollte zurück:

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

ist hier mein Code:

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)) 

Beim Laufen, es zeigt:

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

Ich bin noch neu in der Codierung mit Python, also bitte verstehen, dass das Problem ein einfacher Logikfehler sein kann.

+0

'count = len (f [0]) '. Du meinst "len (f [0]) - 1"? – Jean

+0

Danke, dass du mich darüber informiert hast. Ich verstehe warum. –

Antwort

1

Versuchen list.reverse() Methode:

die Elemente der Liste umkehren, an seinem Platz.

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

print f 

Ausgang:

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

Danke für den Tipp. –

0

Die einfachste Lösung wird eine Liste Verständnis zu verwenden, die jedes Paar entpackt und dann repacks in umgekehrter Reihenfolge:

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