<div dir="ltr">I can't claim to be new to programming, but I've dabbled in Python over and over again to get small problems and puzzles resolved. One thing that I find I can't keep straight are the methods that change a list in place, vs. those that return a copy (sometimes transformed) of the list.<br>
<br>Call me old-fashioned, but my programming experience mostly comes from languages where you assigned the output of a function to another variable, so you always had a copy of whatever you were working on.<br><br>    var array;<div>
    sorted = array.sort();<br><br>If you didn't care to keep both copies, you could always re-assign the returned value to the original variable.<br></div><div><br></div><div>    array = array.sort();</div><div><br></div>
<div>If I try to do the same in Python:</div><div><br></div><div>    sorted = arrayList.sort()</div><div><br></div><div>sorted comes back as None, while arrayList has changed its order.</div><div><br></div><div>Is there some sort of rule-of-thumb to determine if a function is in-place or returns a value?</div>
<div><br></div><div>Antonio Rodriguez</div></div>