2016-08-21 6 views
-10

私は整数のリストを持っています。例えば、[2,3,4]のように、これらの整数のすべての可能な乗算の結果を使ってリストを拡張したいと思います。この場合、6,8,12,24になります。どうすればいい?私がこれをやりたいリストには16個の項目があるので、この場合のアルゴリズムは私の場合には良い解決策ではないかもしれません。ここでこれをPythonで行う方法はありますか?

+5

それは、任意の言語 – yossico

+0

非特異的なタイトルで行うことができます。最小の実例や疑似コードはありません – buhtz

答えて

1

は(唯一の電池が:-)モジュールが含まれて)基本的なPythonでのソリューションです:

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) 

出力:

[6, 8, 12, 24] 
+1

ありがとうございます! – user6708727

関連する問題