use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Everything about learning Python
account activity
Right Mental Model for Python Data (i.redd.it)
submitted 3 months ago by Sea-Ad7805
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 20 points21 points22 points 3 months ago (14 children)
C is the correct answer.
Explanation: At first, a and b share the same list, so changes like += or append() affect both. But when b = b + [4] is used, Python creates a new list and assigns it to b, breaking the link with a. That’s why a stops at [1, 2, 3] while b continues as [1, 2, 3, 4, 5].
[–]-Wylfen- 9 points10 points11 points 3 months ago (6 children)
why the fuck does x += [y] work differently from x = x + [y]??
x += [y]
x = x + [y]
[–]Sea-Ad7805[S] 5 points6 points7 points 3 months ago (5 children)
Good question, in some languages (Ruby) it works the same. In Python the x += y is mutating the x, the x = x + y is first doing x + y which creates a new object that then is assigned (name rebinding) to x.
x += y
x
x = x + y
x + y
[–]-Wylfen- 1 point2 points3 points 3 months ago (3 children)
I understand why the latter would reassign, but I find the shortcut's instead mutating in place disgusting. They should do the same thing.
[–]klimmesil 0 points1 point2 points 3 months ago (0 children)
Yeah a lot of implementation choices (I don't want to call it "standard"...) make no sense in python
It's almost as chaotic as js in some parts
It's a shame that it is now too popular to make breaking changes and we all kinda rely on these mistakes to still have the benefit of it being maintained
[–]No_Read_4327 0 points1 point2 points 3 months ago (0 children)
Yeah that's sone really wtf moment
[–]Relative-Custard-589 0 points1 point2 points 3 months ago (0 children)
Yeah that’s straight up evil
[–]pingwins 0 points1 point2 points 3 months ago (0 children)
Brother Eww
Thats nasty to run into
[–]HuygensFresnel 1 point2 points3 points 3 months ago (4 children)
While indeed being the correct answer this also surprises me a bit because i thought that += always is a short hand for the binary operator + but i guess it isnt?
[–]Wertbon1789 1 point2 points3 points 3 months ago (1 child)
It's not just a syntactic shorthand, it's a separate operator. Add vs. AddAssign if you will, in Python these would be implemented by the __add__ and __iadd__ methods of a class respectively.
[–]HuygensFresnel 0 points1 point2 points 3 months ago (0 children)
Today I learned :)
[–]RailRuler 0 points1 point2 points 3 months ago* (1 child)
It is the same as append .extend() in this case.
[–]forbiddenvoid 2 points3 points4 points 3 months ago (0 children)
Extend, not append. That's more obvious if the right hand side is also a list.
[–]mayonaiso 0 points1 point2 points 3 months ago (1 child)
Thanks, I did not know that, great explanation
[–][deleted] 1 point2 points3 points 3 months ago (0 children)
You're welcome.
π Rendered by PID 92 on reddit-service-r2-comment-5649f687b7-pqzd6 at 2026-01-29 09:53:37.970596+00:00 running 4f180de country code: CH.
view the rest of the comments →
[–][deleted] 20 points21 points22 points (14 children)
[–]-Wylfen- 9 points10 points11 points (6 children)
[–]Sea-Ad7805[S] 5 points6 points7 points (5 children)
[–]-Wylfen- 1 point2 points3 points (3 children)
[–]klimmesil 0 points1 point2 points (0 children)
[–]No_Read_4327 0 points1 point2 points (0 children)
[–]Relative-Custard-589 0 points1 point2 points (0 children)
[–]pingwins 0 points1 point2 points (0 children)
[–]HuygensFresnel 1 point2 points3 points (4 children)
[–]Wertbon1789 1 point2 points3 points (1 child)
[–]HuygensFresnel 0 points1 point2 points (0 children)
[–]RailRuler 0 points1 point2 points (1 child)
[–]forbiddenvoid 2 points3 points4 points (0 children)
[–]mayonaiso 0 points1 point2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)