나는리스트로 주어진 n 차원 벡터와 모든 차원에 적용되는 오프셋의리스트를 결합하는 관용적 인 방법을 찾고있다. 즉 :두리스트의 값의 조합
n = [[4, 5], [7, 5], [8, 5], [4, 8], [7, 8], [8, 8], [4, 9], [7, 9], [8, 9]]
원래부터 : 나는 다음과 같은 목록을 가져올
v = [5, 6]
o = [-1, 2, 3]
: 나는 다음과 같은 값과 오프셋이 주어
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]]
성능을 여기에 문제가되지 않습니다 결과 목록의 순서도 중요하지 않습니다. 못생긴 중첩 루프없이 이것이 어떻게 생성 될 수 있는지에 대한 제안? itertools가 솔루션을위한 도구를 제공한다고 생각하지만, 아직 이해하지 못했습니다.
당신은''대신 지퍼'의 우편 번호 (V, Y)를 사용할 수 있습니다 (* [V, Y])'. – falsetru
감사합니다. @ falsetru 감사합니다. –
감사합니다. 이 답변이 가장 마음에 들었는데 왜냐하면 len (v)! = 2' 사례에 쉽게 확장되기 때문입니다. ->'제품에서의 y에 대한 map (sum, zip (v, y)) (o, repeat = len (v))]' –