how can i generate combinations as like below? – StackOverflow
質問の意図はさっぱり分からないけど.
a = [1, 2, 3] for i, x in enumerate(a): for j in range(i+1): print(a[j:x])
[1]
[1, 2]
[2]
[1, 2, 3]
[2, 3]
[3]
各行の要素と列尾の積を求めるとすると,
res = [] for subli in cl: res.append(sum(e*subli[-1] for e in subli)) print(res)
[1, 6, 4, 18, 15, 9]
纏めると,
a = [1, 2, 3] cl = [a[j:x] for i, x in enumerate(a) for j in range(i+1)] print(*cl, sep='\n') res = [sum(e*subli[-1] for e in subli) for subli in cl] print(res)
[1]
[1, 2]
[2]
[1, 2, 3]
[2, 3]
[3]
[1, 6, 4, 18, 15, 9]