我正在尋找一種將n維矢量(以列表形式給出)與偏移量列表相結合的慣用方式,它應應用於每個維度。 即:假設我有以下值和偏移:兩個列表的值的組合
v = [5, 6]
o = [-1, 2, 3]
我希望獲得下面的列表:
n = [[4, 5], [7, 5], [8, 5], [4, 8], [7, 8], [8, 8], [4, 9], [7, 9], [8, 9]]
源自:
n = [[5-1, 6-1], [5+2, 6-1], [5+3, 6-1], [5-1, 6+2], [5+2, 6+2], [5+3, 6+2], [5-1, 6+3], [5+2, 6+3], [5+3, 6+3]]
性能不是這裏的問題結果列表的順序也無關緊要。任何關於如何在沒有醜陋嵌套for循環的情況下生成這些建議?我想itertools提供瞭解決方案的工具,但我還沒有弄明白。
你可以用'拉鍊(V,Y)的''而不是拉鍊(* [V,Y])'。 – falsetru
@falsetru謝謝,真 –
謝謝。我最喜歡這個答案,因爲它很容易擴展到'len(v)!= 2'的地方。 (o,repeat = len(v))]的'[map(sum,zip(v,y))' –