よく分からんけど

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]

カテゴリー: 未分類 パーマリンク