Skip to content Skip to sidebar Skip to footer

Combining Elements In List: Seems Like Python Treats The Same Item In Two Different Ways And I Don't Know Why

I'm working my way through CodeAcademy and I have a question that's going unanswered there. The assignment is to take a list of lists and make a single list of all its elements. Th

Solution 1:

The += in-place add operator on a list does the same thing as calling list.extend() on new_list. .extend() takes an iterable and adds each and every element to the list.

list.append() on the other hand, adds a single item to the list.

>>>lst = []>>>lst.extend([1, 2, 3])>>>lst
[1, 2, 3]
>>>lst.append([1, 2, 3])>>>lst
[1, 2, 3, [1, 2, 3]]

Solution 2:

Martijn (as always) has explained this well. However, the (for reference only) Pythonic approach would be:

defjoin_lists(*args):
    from itertools import chain
    returnlist(chain.from_iterable(args))

Post a Comment for "Combining Elements In List: Seems Like Python Treats The Same Item In Two Different Ways And I Don't Know Why"