我正在使用Python 2.7。如果我有列表将列表中的元素与同一列表中的每个其他元素进行比较
a = [1,2,3,4,5]
,我想一个新的listthat包含有类似
b = [a[0]*a[1], a[0]*a[2], a[0]*a[3], a[0]*a[4], a[1]*a[0], a[1]*a[2], ... ]
,其中每个元素是由其他元素mulitplied但不要muliply要求自己。我的直觉告诉我做以下(在一个非常不Python的方式):
b = []
for i in range(0,len(a)):
b.append(a[i]*a[i+1])
但这只是在列表中执行任务的第一个元素
我想你可以使用'itertools':'[X * Y的X,Y在ITER tools.combinations(a,2)]' – vaultah
从itertools导入组合导入itertools [x * y for x,y在itertools.combinations(a,2)]中产生错误消息'module'对象不可迭代 –
我不是肯定vaultah。输出意味着组合s将重复...'a [0] * a [1]'和'a [1] * a [0]'itertools.combinations'不会给你... –