J'ai un dictionnaire qui, à l'heure actuelle, 2 clés, mais aurait pu davantage (chaque clé aura toujours une liste unique avec la quantité de valeurs qu'ils sont).
Je dois faire l'opération suivante:
Si dans la première touche, j'ai 2 valeurs dans ma liste et, dans la deuxième touche, j'ai une valeur dans ma liste, puis je cherche à multiplier ces valeurs, exemple: P>
dict_v = {1: ['12X58', '14X53'], 2: ['10X60'], 3: ['8X58', '8X67', '10X49', '10X54']}
total = 2 * 1 * 4 = 8
5 Réponses :
Vous pouvez effectuer ce qui suit:
import math
dict_v = {1: ['12X58', '14X53'], 2: ['10X60'], 3: ['8X58', '8X67', '10X49', '10X54']}
print(math.prod([len(v) for v in dict_v.values()]))
Merci, j'ai essayé avec une librairie engourdie, tu m'as donné une bonne idée, meilleures salutations.
Vous pouvez utiliser sortie p> FuncTools .ReRuce code> Pour multiplier les longueurs de toutes les valeurs de la liste (obtenues par mappage len code> à chaque valeur):
Utilisez la fonction Réduire pour calculer la multiplication de la len des valeurs de dictionnaire.
dict_v = {1: ['12X58', '14X53'], 2: ['10X60'], 3: ['8X58', '8X67', '10X49', '10X54']}
total = reduce(lambda x,y: x*y, map(len, dict_v.values()))
Celui-ci peut ne pas être aussi pythonique mais il illustre les étapes bien
sans par test ( pas sûr carte () code>, la manière plus rapide pourrait être la suivante: carte code> coûtera plus de frais généraux. P> < HR> TimeIt.TimeIt: Numéro = 100 code>): p> math.prod code > .Je ne pouvait pas l'exécuter. P> p>