Also "foo['bar'] returns a KeyError", then saying sometimes this is resolved by "getattr(foo, 'bar', None)" -- the split between attributes and items are one of the best things about python.
I don't know why list comprehensions are "magic syntax", and you can't complain about having to type list(map(...)) and then complain that you don't like list comprehensions!
"You have to cast your data back to a list/tuple after using enumerate() and map()." -- I don't know what that means
"Different syntaxes for lists and tuples." -- Again, what? They're different types!
How is r'a\nd' less "goofy" than String.raw`a\nd` in JS or any other language with prefixed strings?
Python is clearly not for everyone nor for every problem, but in my opinion it is a great programming language.