0
votes

Comment puis-je réparer la ligne Lambda pour faire de mon travail?

J'essaie de faire une déclaration IF à l'intérieur d'une Lambda, mais j'essaie aussi de rendre tous les nombres impairs à la troisième aussi, la ligne Lambda ignore le i ** 3, xxx

Dans la deuxième ligne du code, j'essaie de i ** 3 Si c'est un nombre impair, mais le résultat montre les nombres impairs sans le faire ** 3 Je reçois [1,3,5,7,9] au lieu de [1,27 125,343 729]


1 commentaires

Filtre uniquement des éléments filtres, comme le Le nom implique - ça ne les transforme pas. Vous devez effectuer la transformation séparément


5 Réponses :


0
votes

Vous pouvez utiliser une compréhension: xxx

à l'aide de Filtre et plan : xxx


1 commentaires

x% 2! = 0 est juste x% 2 .



0
votes

Utilisez mappe code> pour obtenir le numéro cubé, puis filtrer Aucun code> Valeurs: xxx pré>

ou, utilisez une expression génératrice uniquement Appliquer mappe code> à des numéros impairs et jetez le reste: p> xxx pré>

ou ne pas utiliser mappe code> / / filtre Code> du tout: P>

[1, 27, 125, 343, 729]


2 commentaires

Je ferais le premier exemple dans l'inverse: filtre des chances et cube toutes les cotes.


C'est mieux, je viens de commencer avec quelque chose qui est proche du code existant de OP.




0
votes

filtre () filtres et ne transforme pas la liste. mappe () est pour la transformation.

Donc, vous devriez filtrer d'abord pour que tous les nombres impairs et que vous pouvez transformer pour transformer: xxx

idéalement, vous devez utiliser la compréhension de liste qui est prouvée efficace que mappe / Filtre lambda combinaisons: xxx


0 commentaires

0
votes

AS Filtre () Vérifie simplement les éléments de la liste et renvoie les valeurs qui répondent à la condition, vous pouvez utiliser mapper () pour faire ce que vous voulez:

  1. Ce code: xxx

    avec cette sortie: xxx

    1. ou celui-ci: xxx

      pour cette sortie: xxx


1 commentaires

Vous avez déjà filtré toutes les cotes, pourquoi avez-vous besoin du si vérifiez à nouveau dans votre carte ?