从文本文件创建矩阵

时间:2015-12-23 17:08:53

标签: python python-3.x

我有一个像这样的文件

  • 1 2 3 4 5
  • 0.1 0.2 0.3 0.4 0.5
  • 10 9 8 7 6
  • 5 4 3 2 1

我想让程序创建这样的东西

  • 1 0.1 10 5
  • 2 0.2 9 4
  • 3 0.3 8 3
  • 4 0.4 7 2
  • 5 0.5 6 1

    感谢任何帮助我是python的初学者

2 个答案:

答案 0 :(得分:1)

您只需使用zip和列表理解即可完成此操作:

>>>l = [[1,2,3,4,5],[0.1,0.2,0.3,0.4,0.5],[10,9,8,7,6],[5,4,3,2,1]]
>>> [list(x) for x in zip(*l)]
[[1, 0.1, 10, 5], [2, 0.2, 9, 4], [3, 0.3, 8, 3], [4, 0.4, 7, 2], [5, 0.5, 6, 1]]

这里,在列表推导的每次迭代中,x都具有l子列表中具有相同索引但垂直转置的项目的压缩值。

答案 1 :(得分:0)

以下是一个例子:

your_file = open("your_file.txt", 'r')

matrix_one = [line.strip().split(" ") for line in your_file]

matrix_two = [list(x) for x in zip(*matrix_one)]

for line in matrix_two:
    print(" ".join(line))

your_file.close()