decivex@yiffit.nettoPython@programming.dev•Why can't I append to list inside of a list comprehension?
5·
5 months agolist.append
returnsNone
so what you’ve actually got is a list comprehension that generates a list containing the valueNone
19 times. (using functions with side effects, such aslist.append
, in list comprehensions are generally bad style so you should avoid this)- 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 [
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. ]
I know I’m being somewhat pedantic but range() returns an iterable
range
type, not a list, in python 3.