List Parameter Funktionen übergeben

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
TobiFrischling
User
Beiträge: 11
Registriert: Dienstag 6. Februar 2018, 10:33

List Parameter Funktionen übergeben

Beitragvon TobiFrischling » Freitag 9. Februar 2018, 12:33

Ist es mögliche bspw in einer Liste als Elemente Funktionen zu übergeben

Bspw

g= [[g1(x)=1],[g2(x)=x]]
Benutzeravatar
kbr
User
Beiträge: 775
Registriert: Mittwoch 15. Oktober 2008, 09:27
Wohnort: Düsseldorf

Re: List Parameter Funktionen übergeben

Beitragvon kbr » Freitag 9. Februar 2018, 13:04

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).
TobiFrischling
User
Beiträge: 11
Registriert: Dienstag 6. Februar 2018, 10:33

Re: List Parameter Funktionen übergeben

Beitragvon TobiFrischling » Freitag 9. Februar 2018, 13:05

Ansatz:
def g0(x):
return 1
....

g=[g0,g1..]

Ich glaub so müsste es gehen
Benutzeravatar
DeaD_EyE
User
Beiträge: 92
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Re: List Parameter Funktionen übergeben

Beitragvon DeaD_EyE » Freitag 9. Februar 2018, 15:32

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))
sourceserver.info - sourceserver.info/wiki/ - Support für HL2-Server

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder