【发布时间】:2016-06-23 21:21:37
【问题描述】:
我需要在 python 2.7 中读取一个 txt 文件并从读数中创建四倍体列表。 txt 文件中的元素是 4 行的块。因此,每四行都是一个新元素。这是文件的示例元素:
0 3 53
-0.999909 -0.0135226 851.576
0.0135226 -0.999909 901.481
0 0 1
...
因此,从这个示例中,新列表的元素将是 l=[('0','3', 53, matrix[[-0.999909 -0.0135226 851.576],[0.0135226 -0.999909 901.481],[0 0 1 ]])] l 中的所有元组都是以该形式(字符串、字符串、整数、矩阵)从 txt 文件中读取的元素。 我已经开发了代码来形成元组中前三个项目的列表,但是我在为元组的第四个元素制作矩阵列表时遇到了麻烦。这是我目前所拥有的:
import numpy as np
import re
import operator
file=open('matching.txt','r')
f=file.readlines()
v1, v2, w, r1, r2, r3 = [],[],[], [], [], []
for x, line in enumerate(f):
if x % 4 is 0:
v1.append(line[:1])
v2.append(line[2:3])
str = re.search(' ([0-9]*)\r\n', line)
if str:
found = int(str.group(1))
w.append(found)
elif x % 4 is 1:
r1.append(line)
elif x % 4 is 2:
r2.append(line)
else:
r3.append(line)
我需要从上面三个列表 r1,r2,r3 中创建矩阵列表 m,其元素将成为矩阵的构建块。r1 的元素是 m 中矩阵的第一行,遵循相同的索引 r2是 m 中矩阵在同一索引之后的第二行,r3 是 m 中矩阵在同一索引之后的第三行。列表 m 应如下所示: m=[矩阵[[r1[0]][r2[0]][r3[0]]],矩阵[[r1[1]][r2[1]][r3[1]]]...] 如何从上述代码中的 r1,r2,r3 创建列表 m?
感谢您的帮助。
【问题讨论】:
-
您可以将您的文件发布到 github 或 google 文档上吗?