在python3中从txt文件快速读取2d列表



我需要用python编写一个程序,从txt文件中读取2d列表,然后在一定的时间内(即2秒(完成一些工作。

3 3
ULR
RRL
UUD

这就是txt文件的内部情况。

with open(argv[1]) as f:
n,m=f.read().split()
n=int(n)
m=int(m)
a=[[char for char in line]for line in f]  

这是我用来将数据解析为2d列表的代码
我的问题是太慢了。该程序的主要算法的时间复杂度为O(n^2(,我用c编写了相同的程序来测试相同的输入。为了以999x999数组作为输入成功终止,c程序大约需要5秒,而python程序需要10秒以上。由于算法实际上是相同的,我的下一个想法是,我将数据从文件传递到python中的2d列表的方式是罪魁祸首
感谢您的意见:(。

我认为这可能会更快:

with open("filename.txt", encoding="UTF-8") as ifile:
m, n = ifile.readline().split()
arr2d = list(map(list, ifile.readlines()))

最新更新