Python one-line "for" expression
PythonLambdaPython Problem Overview
I'm not sure if I need a lambda, or something else. But still, I need the following:
I have an array = [1,2,3,4,5]
. I need to put this array, for instance, into another array. But write it all in one line.
for item in array:
array2.append(item)
I know that this is completely possible to iterate through the items and make it one-line. But googling and reading manuals didn't help me that much... if you can just give me a hint or name this thing so that I could find what that is, I would really appreciate it.
Update: let's say this: array2 = SOME FANCY EXPRESSION THAT IS GOING TO GET ALL THE DATA FROM THE FIRST ONE
(the example is NOT real. I'm just trying to iterate through different chunks of data, but that's the best I could come up with)
Python Solutions
Solution 1 - Python
The keyword you're looking for is list comprehensions:
>>> x = [1, 2, 3, 4, 5]
>>> y = [2*a for a in x if a % 2 == 1]
>>> print(y)
[2, 6, 10]
Solution 2 - Python
for item in array: array2.append (item)
Or, in this case:
array2 += array
Solution 3 - Python
If you really only need to add the items in one array to another, the '+' operator is already overloaded to do that, incidentally:
a1 = [1,2,3,4,5]
a2 = [6,7,8,9]
a1 + a2
--> [1, 2, 3, 4, 5, 6, 7, 8, 9]
Solution 4 - Python
Even array2.extend(array1)
will work.
Solution 5 - Python
If you're trying to copy the array:
array2 = array[:]