Cómo concatenar dos matrices 2D en paralelo devolviendo una matriz 1D, por ejemplo:
ARRAYS / LISTAS
list1 = [['a'], ['b'], ['c']]
list2 = [['A'], ['B'], ['C']]
OBJETIVO:
list3 = ['a:A', 'b:B', 'c:C']
Intento:
concat_array = [itm + ':' if not itm.endswith (':') plus itm for itm in list1 + list2]
3 respuestas
def join_2d_arrays(a, b, separator=":"):
for x, y in zip(a, b):
yield separator.join(itertools.chain(x, y))
Puede concat listas como esta, por ejemplo:
list1 = [['a'], ['b'], ['c']]
list2 = [['A'], ['B'], ['C']]
list3 = []
for itm1,itm2 in zip(list1, list2):
list3.append(itm1[0] + ':' + itm2[0])
Te consigue:
list3 = ['a:A', 'b:B', 'c:C']
Tratar:
[itm1[0] + ':' + itm2[0] for itm1,itm2 in zip(list1, list2)]
Editar: comprobado y funcionó
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.