0100110010101
No estoy seguro si necesito un lambda, o algo más. Pero aún así, necesito lo siguiente:
Yo tengo un array = [1,2,3,4,5]
. Necesito poner esta matriz, por ejemplo, en otra matriz. Pero escríbalo 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 sola línea. Pero googlear y leer manuales no me ayudó mucho… si me puedes dar una pista o nombrar esto para que pueda encontrar lo que es, te lo agradecería mucho.
Actualizar: 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 eso es lo mejor que se me ocurrió)
La palabra clave que estás buscando es lista de comprensiones:
>>> x = [1, 2, 3, 4, 5]
>>> y = [2*a for a in x if a % 2 == 1]
>>> print(y)
[2, 6, 10]
-
Todavía soy un principiante con Python, ¿cuál es el propósito de esto: “2*a”? @Adam Rosenfield
– Ahmad
16 de febrero a las 10:27
-
@Ahmad Un poco tarde, pero espero que pueda ayudar a alguien más.
a
se le asigna cada elemento en la listax
(porque el bucle for). Entonces el2*a
es simplemente tomar todos los elementos de la lista x y multiplicarlos por dos. Los valores duplicados estarán eny
después de que haya terminado de iterar a través de toda la listax
– Hasnain Alí
20 abr a las 16:59
for item in array: array2.append (item)
O, en este caso:
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]
prabhu
Incluso array2.extend(array1)
trabajará.
Si estás tratando de Copiar la matriz:
array2 = array[:]