我試圖爲任意數量的相同對象生成所有可能的1維位置的列表。我想要它的格式,所以每個座標是距前一個對象的距離,因此對於3個對象(0,5,2)將表示一個對象位於位置0,另一個位於位置5,另一個位於位置7.位置組合的Python列表
所以主要的限制是座標的總和是< = D。嵌套for循環適用於此。例如,對於具有最大座標D的3個對象:
def positions(D):
output=[]
for i in range(D+1):
for j in range(D+1-i):
for k in range(D+1-i-j):
output.append((i,j,k))
return(output)
將此擴展到任意數量的對象的最佳方法是什麼?如果沒有明確編寫特定數量的for循環,我找不到一個好方法。
使用'itertools.combinations'? – raser