J'ai une fonction foreach qui appelle la fonction spécifiée sur chaque élément qu'elle contient. Je veux obtenir un minimum de ces éléments mais je n'ai aucune idée de la façon d'écrire lambda ou une fonction ou même une classe qui gèrerait ça. Merci pour votre aide. Python, lambda, trouver le minimum
-je utiliser ma fonction foreach comme ceci:
o.foreach(lambda i: i.call())
ou
o.foreach(I.call)
Je n'aime pas faire une liste ou d'autres objets. Je veux itérer à travers et trouver min.
je parviens à écrire une classe qui font le penser, mais il devrait y avoir une meilleure solution que:
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, donc je suppose que ma méthode .foreach est une idée non-python. Je devrais faire ma classe itérable parce que toutes vos solutions sont basées sur des listes et tout deviendra plus facile. En C# il n'y aurait pas de problème avec la fonction lambda comme ça, donc je pense que python est aussi puissant.
Pouvez-vous s'il vous plaît poster un exemple de code de ce que vous avez jusqu'à présent? – csl
+1 pour l'étiquette de devoir possible –