Я не большой поклонник сторонних библиотек, так что это ответ, который не использует numpy
:
>>> X = ([1,2,3,4])
>>> Y = ([5,6,7,8])
>>> Z = ([3,6,7,8])
# timeit.timeit 0.30220915000000004
>>> output = [[X[i], Y[i], Z[i]] for i in range(len(X))]
# timeit.timeit 1.677441058
>>> print(output)
[[1, 5, 3], [2, 6, 6], [3, 7, 7], [4, 8, 8]]
>>> columns = "\n".join([" ".join([str(n) for n in i]) for i in output])
# timeit.timeit 5.729952549999999
>>> print(columns)
1 5 3
2 6 6
3 7 7
4 8 8
>>> for i in range(len(X)):
... print(X[i], Y[i], Z[i])
1 5 3
2 6 6
3 7 7
4 8 8
# timeit.timeit 1.2027191299999984 without print
Использование numpy
:
>>> X = np.array([1,2,3,4])
>>> Y = np.array([5,6,7,8])
>>> Z = np.array([3,6,7,8])
# timeit.timeit 4.819555767999999
>>> output = np.concatenate((X[:, np.newaxis], Y[:, np.newaxis], Z[:, np.newaxis]), axis=1)
# timeit.timeit 4.175194263
>>> print(output)
[[1 5 3]
[2 6 6]
[3 7 7]
[4 8 8]]
>>> columns = "\n".join([" ".join([str(n) for n in i]) for i in output])
# timeit.timeit 22.564187487
>>> print(columns)
1 5 3
2 6 6
3 7 7
4 8 8
В комментариях (#
) Я написал время, необходимое для выполнения каждого раздела кода, используя timeit.timeit
, чтобы вы могли сделать свои собственные выводы.