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 comprehension is not whatever you’re doing there. An example of list comprehension:

list = [value*2 for value in range(1, 20)]

See, list comprehension is used to make a list from an existing list. The value of the new list is defined by a function. In this case, the value of a will be 2,4,6, etc.

Your current syntax list[…], is trying to access an element of a list.

So you cannot use methods inside a list comprehension, only binary operators and the function range?

Sure you can. As others have said, a list comprehension returns a new list. See the documentation.

What are you trying to do though? Append a list comprehension to an existing list?

See a modified version of @[email protected]’s code from their comment.

def double(x): return 2 * x a = list(range(10)) a.extend(double(value) for value in range(5)) # a has 15 elements print(a)

Anti Commercial-AI license

5. Data Structures

This chapter describes some things you’ve learned about already in more detail, and adds some new things as well. More on Lists: The list data type has some more methods. Here are all of the method...

Python documentation