function - Why does sage treat local python variables as global? -
new sage , python, i'm not sure i'm abusing. i'm trying define following function acts on input list a, every time input function affects global value of a. how can make behave locally? def listxgcd( ): g,s,t=xgcd(a.pop(0),a.pop(0)) coeffs=[s,t] while a!=[]: g,s,t=xgcd(g,a.pop(0)) coeffs=[s*i in coeffs] coeffs=coeffs+[t] return coeffs i've tried setting b=a , substituting b everywhere doesn't work either don't understand. need declare sort of sage-y variable thing? def listxgcd( ): b=a g,s,t=xgcd(b.pop(0),b.pop(0)) coeffs=[s,t] while b!=[]: g,s,t=xgcd(g,b.pop(0)) coeffs=[s*i in coeffs] coeffs=coeffs+[t] return coeffs much thanks! you passing reference container object listxgcd function , function retrieves elements container using pop . not scope issue, fact there operating directly on container have passed function. if don't want function modify cont...