Seite 1 von 1

List Parameter Funktionen übergeben

Verfasst: Freitag 9. Februar 2018, 12:33
von TobiFrischling
Ist es mögliche bspw in einer Liste als Elemente Funktionen zu übergeben

Bspw

g= [[g1(x)=1],[g2(x)=x]]

Re: List Parameter Funktionen übergeben

Verfasst: Freitag 9. Februar 2018, 13:04
von kbr
Zwar weiß ich nicht, was Du genau willst, aber alleine schon einem Funktionsaufruf einen Wert zuweisen zu wollen, wie es in Deiner Liste geschieht, ist nicht möglich (und auch nicht sinnvoll).

Re: List Parameter Funktionen übergeben

Verfasst: Freitag 9. Februar 2018, 13:05
von TobiFrischling
Ansatz:
def g0(x):
return 1
....

g=[g0,g1..]

Ich glaub so müsste es gehen

Re: List Parameter Funktionen übergeben

Verfasst: Freitag 9. Februar 2018, 15:32
von DeaD_EyE
Ja

Code: Alles auswählen

def foo2(x):
    return x**2

def foo3(x):
    return x**3

function_list = [foo2, foo3, foo2, foo3]

for n, func in enumerate(function_list, start=1):
    print('Iteration:', n)
    print('func({}) => {}'.format(n, func(n)))


Du kannst alle möglichen Objekte in Listen, Tupel, Set, Dict packen.
Funktionen und Klassen sind auch Objekte. Veränderbare (mutable) Objekte,
lassen sich nicht als key in dicts bzw. als Element in sets verwenden.

Code: Alles auswählen

def do_something1(x):
    return x * 10

def do_something2(x):
    return x ** 10

def do_something3(x):
    return x ** 100

selector = {
    'incomming': do_something1,
    'change': do_something2,
    'stop': do_something3,
    }

# funktion einem Namen zuweisen
# und aufrufen
signal = 'incomming'
func = selector[signal]
print(func(42))