我必须重写一些Python代码,以便它与Python 3兼容。不幸的是我的一个文件导入了Numpy,但是它还没有用于Python 3。所以我试图用普通的Python代码替换Numpy-Code。但我无法取代Numpy的重塑功能。 Reshape将数组作为输入并重新整形(更改行数/列数)。例如:
a = arange(10).reshape(2,5)
创建一个表单
的数组[[0, 1, 2, 3, 4],
5, 6, 7, 8, 9]
我的想法是这样的代码:
list = range(10)
matrix = []
row = []
for i in range(2):
for j in range 5:
row.append(list[j])
matrix.append(row)
row = []
但嵌套循环看起来不太好。你知道更好的方法吗?
答案 0 :(得分:1)
numpy FAQs表示它不支持python 3,但根据以下内容确实如此:
http://onpython3yet.com/packages/requirements?r=numpy%0D%0A
您可能只想检查一下您对numpy状态的假设是否正确。
答案 1 :(得分:1)
对于非numpy选项(numpy可能是一个令人生畏的依赖):
x = range(10)
mat_2x5 = [x[i*5:(i+1)*5] for i in range(2)]