%definition of a function
def array_left_rotation(a, n, k):
b = a
for i in range (n):
a[(i-k)%n] = b[i]
return a;
n, k = map(int, raw_input().strip().split(' '))
a = map(int, raw_input().strip().split(' '))
answer = array_left_rotation(a, n, k);
print ' '.join(map(str,answer))
我观察到列表b也在迭代时发生变化,即使它是在'for'循环之外定义的。有人能告诉我,我的假设是正确的。若有,请提出可能的解决方案?