2016-08-21 4 views
-10

Ich habe eine Liste von ganzen Zahlen. Zum Beispiel [2,3,4] und ich möchte die Liste mit Ergebnissen aller möglichen Multiplikationen dieser ganzen Zahlen erweitern. Das wäre in diesem Fall 6,8,12,24. Wie würde ich das tun? Denken Sie daran, dass die Liste, die ich damit machen möchte, 16 Elemente enthält, so dass ein Algorithmus für diesen Fall keine gute Lösung für meinen Fall sein kann.Gibt es eine Möglichkeit, dies in Python zu tun?

+5

Es kann in jeder Sprache – yossico

+0

unspezifischen Titel erfolgen. kein minimales Arbeitsbeispiel oder Pseudocode – buhtz

Antwort

1

Hier ist eine Lösung in grundlegendem Python (mit nur Batterien Module enthalten :-)):

import itertools, functools 

lst = [2,3,4] 

comb = [itertools.combinations(lst, n) for n in range(2, len(lst) + 1)] 

lst2 = [] 
for seq in itertools.chain(*comb): 
    lst2.append(functools.reduce(lambda x, y: x * y, seq)) 

print(lst2) 

Ausgang:

[6, 8, 12, 24] 
+1

Vielen Dank! – user6708727

Verwandte Themen