如何使用for循环将列表中的每个元素与列表中的每个其他元素相乘?像这样:[1,3,5,7]应该像这样相乘:1*3+1*5+1*7+3*5+3*7+5*7
您可以将生成的每个组合相乘 combinations 把它们加起来。
combinations
from itertools import combinations from operator import mul l = [1, 3, 5, 7] sum([mul(*x) for x in combinations(l,2)])
输出
86
当然可以:
a = [1, 3, 5, 7] s = 0 for i in range(len(a)): for j in range(i + 1, len(a)): s += a[i] * a[j] print(s)
不使用列表索引:
listit = [1, 5, 3, 7] x_position = 0 result = 0 for x in listit: x_position += 1 y_position = 0 for y in listit: y_position += 1 if x_position < y_position: print(f"{x} * {y}") result += x * y print(result) print(result)