我正在使用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'不會給你... –