Follow

@0 I'd suggest writing the code like this:

```
>>> a = [1, 2, 3]
>>> list(map(lambda i: i+10, a))
[11, 12, 13]
>>> # or
>>> [i+10 for i in a]
[11, 12, 13]
>>>
```

· · Web · 1 · 0 · 1

@masipcat @0 the second one is more pythonic - list comphrehensions rule!

@0 @Wraptile

Why?

Maybe the JS map() with an arrow function looks better in that case, but IMO list-comprehensions are more powerful and easier to read.

You can create a list/set/dict from any iterable (not necessary a list object!). Also, you can filter while iterating:

>>> [i+10 for i in a if i % 2 == 1]
[11, 13]

For me it's easier to remember how it works a list-comprehension than filter. I never remember if `filter()` filters the values when the lambda returns true or false...

@0 @masipcat lol, seems like you have no idea what you are talking about.

if your "inline function" is too big in python then it should NOT be an inline function, simple as that. It's opinionated language and that's a good thing.

Try `import this`

@0 @masipcat you certainly seem to have some bias against python. Your own example is clearly gimped and the fact that you think Javascript, language so notoriously badly design that has a thousand different flavors, is better designed than Python is really peculiar to say the least.

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!