Quiero utilizar una list comprehension en Python que lea los datos de un array de arrays y los devuelva en un único array. Por ejemplo:
array=[[1,2,3],[4,5,6]]
Quiero que el output sea: [1,2,3,4,5,6]
He intentado usar [elemento for elemento in linea for linea in array], pero obtengo [4,4,5,5,6,6].
¿Cómo debería hacer para obtener el resultado deseado y por qué mi código no da el resultado correcto?
Puedes usar la función itertools.chain para unir los elementos de los arrays internos en un único array. Aquí está el código:
import itertools
array = [[1,2,3],[4,5,6]]
result = list(itertools.chain(*array))
print(result)
Output: [1,2,3,4,5,6]

Tu código no funciona porque la list comprehension está construida de manera incorrecta. Al poner elemento for elemento in linea for linea in array, primero se está recorriendo todas las líneas y luego se está recorriendo cada elemento de cada línea. Esto resulta en la lista de elementos repetidos.
Gracias, ahora genera el código necesario para sumar todos los términos del array
Puedes usar la función sum de Python para sumar todos los términos de un array. Por ejemplo:
array = [[1,2,3],[4,5,6]]
result = [item for sublist in array for item in sublist]
total = sum(result)
print(total)
El output será:
21
Esto suma todos los términos de result, que es el array resultante de la concatenación de los elementos de cada sublista.
Entiendo, aunque no es la respuesta que esperaba