Why can't I append to list inside of a list comprehension?

https://lemmy.world/post/16921344

Why can't I append to list inside of a list comprehension? - Lemmy.World

I’m new to programming a bit, and am learning python so I can learn flask, using the python crash course book. I was learning about list comprehension but it briefly talks about it. If I do > list[list.append(value) for value in range(1, 20)]> it doesn’t work. Would this be some sort of recursive expression that is not possible?

  • list.append returns None so what you’ve actually got is a list comprehension that generates a list containing the value None 19 times.
  • The list[…] syntax retrieves elements from the list, which is not what you’re trying to do here. (and it is actually invalid syntax in this case)
  • You should generally avoid calling lists list, because list is already a builtin.
  • If you want to append the numbers 1 to 19 to a list as you’re trying to do you can call the list.extend function with the list comprehension [value for value in range(1, 20)] as the argument. (Although in this case you can also just use the range directly.) To do it without list comprehensions you can simply loop over the range and repeatedly call the append function.