Poner una matriz de un archivo de texto en una lista -- python campo con performance campo con parsing campo con file campo con matrix camp codereview Relacionados El problema

Putting a matrix from a text file into a list


3
vote

problema

Español

Estoy tratando de leer un archivo de texto con Matrix y ponerlo en una lista, pero estoy usando dos bucles aquí y quiero que mi función sea más rápida.

  Worker3  
Original en ingles

I'm trying to read a text file with matrix and put it in a list, but I am using two loops here and I want my function to be faster.

def read_file(path_to_file):     mylist=[]     for eachLine in open(path_to_file,'rt'):         mylist.append([int(eachRow) for eachRow in eachLine.split()])     return mylist 
              
 
 

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

No estoy seguro si es posible hacer esto más rápido. Pero puede ser mejor:

  {3  

En primer lugar, siempre debe usar un administrador de contexto 9988777665554433644 cuando se trabaja con archivos. De esa manera, no puede olvidarse de cerrar el asa del archivo después de que haya terminado de leerlo.

Otras mejoras:

  • Nombres de variables más naturales
  • estilo de escritura más sencillo y más compacto utilizando una lista de la lista

También tenga en cuenta PEP8 , la Guía de estilo Python.

 

Not sure if it's possible to make this faster. But it can be better:

with open(path_to_file, 'rt') as fh:     return [[int(value) for value in line.split()] for line in fh] 

First of all, you should always use a with ... context manager when working with files. That way you cannot forget to close the file handle after you are done reading from it.

Other improvements:

  • More natural variable names
  • Simpler and more compact writing style using a list comprehension

Also keep in mind PEP8, the Python style guide.

 
 

Relacionados problema

4  Aumentar el rendimiento de una matrícula de la multiplicación de matriz de 2x2  ( Increase performance of a spate of 2x2 matrix multiplication ) 
Me gustaría mejorar el rendimiento de la pieza de código a continuación (en Fortran). Da buenos resultados, pero el perfil le dice que es donde pasa la mayor ...

3  Análisis de simetría para arreglos atómicos en un cristal  ( Symmetry analysis for atom arrangements in a crystal ) 
Por un tiempo ahora he tenido la intención de publicar un poco de mi código Haskell aquí para que alguien pueda decirme qué partes de la biblioteca de idiomas...

1  Integración de oscilador de fase perturbada  ( Perturbed phase oscillator integration ) 
Estoy integrando un sistema de osciladores de fase perturbados. Defino el sistema de ecuación y también la matriz jacobiana. Tengo que remodelar el vector dim...

0  Código de número de rutas posible de la longitud dada entre 2 nodos dados  ( Code for number of routes possible of the given length between 2 given nodes ) 
Recientemente me encontré en este problema , aquí hay un extracto de eso, Es bien sabido que el algoritmo de enrutamiento utilizado en Internet es altam...

5  Multiplicación de matriz y producto de punto  ( Matrix multiplication and dot product ) 
Ejercicio 2.37. Supongamos que representamos vectores v = (vi) como secuencias de números, y matrices m = (MIJ) como secuencias de vectores (las filas ...

4  Asignación de matrices para la modificación en el lugar  ( Allocating matrices for in place modification ) 
Este código parece estar funcionando. Estoy asignando matrices en la pila y los pasa a funciones para modificar en su lugar. ¿Es esta una práctica estándar, o...

19  Clase de matriz en C #  ( Matrix class in c ) 
He estado aprendiendo C # durante mi tiempo libre en los últimos meses; Antes de eso, en su mayoría estaba escribiendo Java, por lo que la transición no ha si...

2  Hackerank - Queens Attack II - Java  ( Hackerrank queens attack ii java ) 
La definición del problema ya se puede encontrar aquí . Dado un tablero de ajedrez con dimensiones N Ã- N (donde n es de hasta 100000) y el ( r , C )...

2  La matriz hash realiza la eliminación gaussiana  ( Hash matrix performs gaussian elimination ) 
Esta es la matriz de hash que usé para procesar la matriz para mi algoritmo cuadrático de tamiz. Puede encontrar el código completo en aquí (es java 7 ), p...

3  Solución más rápida para la resta sabia de la matriz  ( Faster solution for row wise matrix subtraction ) 
Tengo 2 matrices. Tengo que calcular la distancia euclidiana entre cada fila de Matrix A y cada fila de Matrix B. En la primera solución i bucle sobre las f...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos