使用列表推导式,我可以将以字符串格式表示的20x20数字块转换为整数列表的列表。数字由空格分隔,行由换行符分隔。
grid = [[int(x) for x in line.split()] for line in nums.split('\n')]
然而,我想要使用NumPy来提高速度。我可以使用np.asarray()和我的中间列表一起使用,但我认为这不是有效利用NumPy。
我还尝试使用np.fromstring()
,但我无法找到适用于二维数组的逻辑。
有没有办法在不创建Python中间列表的情况下完成这个任务?
numpy
中的csv
加载器loadtxt
和genfromtxt
的操作方式与您一样 - 逐行读取并从中制作一个列表。然后在最后从中创建一个数组。对于小型(更小)的数组,我们一直使用np.array(list_of_lists)
。 - hpaulj