Mam funkcję foreach, która wywołuje określoną funkcję dla każdego elementu, który zawiera. Chcę uzyskać minimum z tych elementów, ale nie mam pojęcia, jak napisać lambdę lub funkcję, a nawet klasy, która to poradzi. Dzięki za każdą pomoc. Python, lambda, znajdź minimum
używam funkcji foreach tak:
o.foreach(lambda i: i.call())
lub
o.foreach(I.call)
nie podoba mi się zrobić list lub innych przedmiotów. Chcę iterować przez to i znaleźć min.
udaje mi się napisać klasę, że zrobić to myśleć, ale nie powinno być jakieś lepsze rozwiązanie niż:
class Min:
def __init__(self,i):
self.i = i
def get_min(self):
return self.i
def set_val(self,o):
if o.val < self.i: self.i = o.val
m = Min(xmin)
self.foreach(m.set_val)
xmin = m.get_min()
Ok, więc przypuszczam, że moja metoda .foreach jest non-python pomysł. Powinienem uczynić swoją klasę iterowalną, ponieważ wszystkie twoje rozwiązania oparte są na listach, a wtedy wszystko stanie się łatwiejsze.
W języku C# nie byłoby problemu z taką funkcją lambda, więc myślę, że ten pyton jest również tak potężny.
Czy możesz podać przykładowy kod tego, co masz do tej pory? – csl
+1 dla możliwego tagu zadania domowego –