This is not Python specific though :) As far as I know, C uses pass-by-value for arguments, unless they are arrays or other funky objects/functions/etc.. This is the same behaviour as Python. Pass-by-reference and pass-by-value is something that needs to be mastered in all languages, whether or not you have pointers to play with.
Regards, Edward On 5 May 2014 18:30, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote: > This reminds me: > > http://combichem.blogspot.dk/2013/08/you-know-what-really-grinds-my-gears-in.html > > 2014-05-05 17:52 GMT+02:00 Edward d'Auvergne <edw...@nmr-relax.com>: >> Hi, >> >> This is an important difference. In the first case (back_calc[i] = >> Minty[i]), what is happening is that your are copying the data into a >> pre-existing structure. In the second case (back_calc = Minty), the >> existing back_calc structure will be overwritten. Therefore the >> back_calc structure in the calling code will be modified in the first >> case but not the second. Here is some demo code: >> >> def mod1(x): >> x[0] = 1 >> >> def mod2(x): >> x = [3, 2] >> >> x = [0, 2] >> print(x) >> mod1(x) >> print(x) >> mod2(x) >> print(x) >> >> I don't know of a way around this. >> >> Regards, >> >> Edward >> >> >> On 5 May 2014 17:42, Troels Emtekær Linnet <tlin...@nmr-relax.com> wrote: >>> Hi Edward. >>> >>> In the library function of b14.py, i am looping over >>> the dispersion points to put in the data. >>> >>> for i in range(num_points): >>> >>> # The full formula. >>> back_calc[i] = Minty[i] >>> >>> Why can I not just set: >>> back_calc = Minty >>> >>> _______________________________________________ >>> relax (http://www.nmr-relax.com) >>> >>> This is the relax-devel mailing list >>> relax-devel@gna.org >>> >>> To unsubscribe from this list, get a password >>> reminder, or change your subscription options, >>> visit the list information page at >>> https://mail.gna.org/listinfo/relax-devel _______________________________________________ relax (http://www.nmr-relax.com) This is the relax-devel mailing list relax-devel@gna.org To unsubscribe from this list, get a password reminder, or change your subscription options, visit the list information page at https://mail.gna.org/listinfo/relax-devel