-10
我有一个整数列表。例如[2,3,4],我想用这些整数的所有可能乘法的结果来扩展列表。这将是在这种情况下6,8,12,24。我将如何做到这一点?请记住,我想要这样做的列表有16个项目,所以这种情况下的算法可能不是我的情况的一个很好的解决方案。有没有办法在Python中做到这一点?
我有一个整数列表。例如[2,3,4],我想用这些整数的所有可能乘法的结果来扩展列表。这将是在这种情况下6,8,12,24。我将如何做到这一点?请记住,我想要这样做的列表有16个项目,所以这种情况下的算法可能不是我的情况的一个很好的解决方案。有没有办法在Python中做到这一点?
以下是在基本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]
非常感谢! – user6708727
它可以用任何语言 – yossico
非特异性标题来完成。没有最小工作示例或伪代码 – buhtz