Python una línea de expresión “para”

No estoy seguro si necesito un lambda, o algo más. Pero aún así, necesito lo siguiente:

Tengo una array = [1,2,3,4,5] . Necesito poner esta matriz, por ejemplo, en otra matriz. Pero escríbelo todo en una línea.

 for item in array: array2.append(item) 

Sé que esto es completamente posible iterar a través de los elementos y hacerlo de una línea. Pero googlear y leer los manuales no me ayudaron mucho … si puedes darme una pista o nombrar esto para que pueda encontrar lo que es, realmente lo apreciaría.

Actualización: digamos esto: array2 = SOME FANCY EXPRESSION THAT IS GOING TO GET ALL THE DATA FROM THE FIRST ONE

(El ejemplo NO es real. Solo estoy tratando de iterar a través de diferentes fragmentos de datos, pero es lo mejor que se me ocurre)

La palabra clave que está buscando es la lista de comprensión :

 >>> x = [1, 2, 3, 4, 5] >>> y = [2*a for a in x if a % 2 == 1] >>> print(y) [2, 6, 10] 
 for item in array: array2.append (item) 

O, en este caso:

 array2 += array 

Si estás intentando copiar la matriz:

 array2 = array[:] 

Si realmente solo necesita agregar los elementos de una matriz a otra, el operador ‘+’ ya está sobrecargado para hacerlo, por cierto:

 a1 = [1,2,3,4,5] a2 = [6,7,8,9] a1 + a2 --> [1, 2, 3, 4, 5, 6, 7, 8, 9] 

Incluso array2.extend(array1) funcionará.

Usando elementos de la lista ‘A’, cree una nueva lista ‘B’ con elementos, que son menos de 10

Opción 1:

 A = [1, 1, 2, 3, 5, 8, 13, 4, 21, 34, 9, 55, 89] B = [] for i in range(len(A)): if A[i] < 10: B.append(A[i]) print(B) 

Opcion 2:

 A = [1, 1, 2, 3, 5, 8, 13, 4, 21, 34, 9, 55, 89] B = [A[i] for i in range(len(A)) if A[i] < 10] print(B) 

Resultado: [1, 1, 2, 3, 5, 8, 4, 9]