What's The Difference Between Plus And Append In Python For List Manipulation?
Solution 1:
There are two major differences. The first is that +
is closer in meaning to extend
than to append
:
>>>a = [1, 2, 3]>>>a + 4
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
a + 4
TypeError: can only concatenate list (not "int") to list
>>>a + [4]
[1, 2, 3, 4]
>>>a.append([4])>>>a
[1, 2, 3, [4]]
>>>a.extend([4])>>>a
[1, 2, 3, [4], 4]
The other, more prominent, difference is that the methods work in-place: extend
is actually like +=
- in fact, it has exactly the same behavior as +=
except that it can accept any iterable, while +=
can only take another list.
Solution 2:
Solution 3:
>>>L1 = [1,2,3]>>>L2 = [97,98,99]>>>>>># Mutate L1 by appending more values:>>>L1.append(4)>>>L1
[1, 2, 3, 4]
>>>>>># Create a new list by adding L1 and L2 together>>>L1 + L2
[1, 2, 3, 4, 97, 98, 99]
>>># L1 and L2 are unchanged>>>L1
[1, 2, 3, 4]
>>>L2
[97, 98, 99]
>>>>>># Mutate L2 by adding new values to it:>>>L2 += [999]>>>L2
[97, 98, 99, 999]
Solution 4:
+
is a binary operator that produces a new list resulting from a concatenation of two operand lists. append
is an instance method that appends a single element to an existing list.
P.S. Did you mean extend
?
Solution 5:
The +
operation adds the array elements to the original array. The array.append
operation inserts the array (or any object) into the end of the original array.
[1, 2, 3] + [4, 5, 6] // [1, 2, 3, 4, 5, 6]
b = [1, 2, 3]
b.append([4, 5, 6]) // [1, 2, 3, [4, 5, 6]]
Take a look here: Python append() vs. + operator on lists, why do these give different results?
Post a Comment for "What's The Difference Between Plus And Append In Python For List Manipulation?"