Título: (python) como ordenar matriz? Publicado por: horacio_b92 en 12 Julio 2016, 13:40 pm Buenas gente del foro, alguno me da una ayuda con esto tengo una matriz cargada con cada fila con un registro la primer columna cod_banco y la segunda columna la descripción. Quiero ordenarla alfabéticamente por descripción?
Título: Re: (python) como ordenar matriz? Publicado por: tincopasan en 12 Julio 2016, 15:31 pm bueno, faltarian varias cosas:
1)como definiste la matriz 2)un poco de esmero y mostrar algún intento ahora bien, te doy un ejemplo de como se podría hacer Código eso es la idea y suponiendo la definición de la matriz. Saludos y ponele media pila. Título: Re: (python) como ordenar matriz? Publicado por: horacio_b92 en 14 Julio 2016, 21:55 pm bueno, faltarian varias cosas: 1)como definiste la matriz 2)un poco de esmero y mostrar algún intento ahora bien, te doy un ejemplo de como se podría hacer Código eso es la idea y suponiendo la definición de la matriz. Saludos y ponele media pila. si tenes razón, gracias por la versión que mostras es mas eficiente pero tengo que implementar el bubble sort asi lo hice: Código: # coding: utf-8 Título: Re: (python) como ordenar matriz? Publicado por: jairoes en 6 Enero 2017, 13:58 pm Hola, soy nuevo con Python. He empezado a ver unos videos tutoriales pero estoy muy verde y tengo que intentar solucionar un problema.
De momento tengo un script que extrae una serie de lineas de un fichero y las pone en otro. Ahora quiero ordenar las lineas en función de los valores de una de las columnas. En total son 596 lineas y ocho columnas separadas por espacios. Por lo que he visto en este foro hay que crear una matriz y luego ordenarla pero no tengo muy claro como hacerlo. Alguien me podría ayudar por favor Gracias a todos! Título: Re: (python) como ordenar matriz? Publicado por: Yidu en 6 Enero 2017, 16:36 pm Tampoco es mala cosa crear o definir una matriz sin utilizar una funcion. Osea, usando las listas por comprension (en el ejemplo 5 filas por 3 columnas):
Código
Salida: Código
O tambien: Código
Título: Re: (python) como ordenar matriz? Publicado por: jairoes en 7 Enero 2017, 21:19 pm Hola, gracias por tu respuesta. Mi problema es intentar asignar o leer la matriz asignando los valores de mis lineas a las distintas posiciones de la matriz. He intentado utilizar la estructura de este foro:
def leer_lineas(): _file = open('salida_puntos.txt', 'r') data = _file.read().split('\n') _file.close() return data columnas = 8 def crear_matriz(numLineas, columnas): matriz = [] for i in range(numLineas): matriz.append([0] * columnas) matriz = crear_matriz(numLineas, columnas) fila = 0 for columna in leer_lineas(): if columna: valores = columna.split(' ') des1 = valores[0] coord_x = valores[1] coord_y = valores[2] coord_z = valores[3] des2 = valores[4] des3 = valores[5] des4 = valores[6] des5 = valores[7] matriz[fila][0] = des1 matriz[fila][1] = coord_x matriz[fila][2] = coord_y matriz[fila][3] = coord_z matriz[fila][4] = des2 matriz[fila][5] = des3 matriz[fila][6] = des4 matriz[fila][7] = des5 fila += 1 Pero me da el siguiente error: matriz[fila][0] = des1 TypeError: 'NoneType' object is not subscriptable Cada una de las lineas de mi fihero de texto tiene información como la siguiente: 'prescribed_point 1069.2370605469 -980.5009765625 7836.5126953125 family POINTS name TMP_TOPO_PART_NAME.2534' Lo que yo quiero poder ordenar todas las filas en función de la coordenada de la cuarta columna que es la coordenada z de una serie de puntos. Gracias de nuevo! |