gpt4 book ai didi

python - 如何从 python 2.7 中的三个列表创建矩阵列表?

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:30 26 4
gpt4 key购买 nike

我需要在 python 2.7 中读取一个 txt 文件并根据读数创建四元组列表。 txt 文件中的元素是 4 行的 block 。因此每四行是一个新元素。这是文件的示例元素:

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,其元素将是矩阵的构建 block 。r1 的元素是 m 中矩阵的第一行,遵循相同的索引 r2是 m 中同一索引后的第二行矩阵,r3 是 m 中同一索引后的第三行矩阵。列表 m 应如下所示:m=[矩阵[[r1[0]][r2[0]][r3[0]]],矩阵[[r1[1]][r2[1]][r3[1]]]...]如何从上述代码的 r1、r2、r3 创建列表 m?

提前感谢您的帮助。

最佳答案

试试这个:

文件a.data:

0 3 53
-0.999909 -0.0135226 851.576
0.0135226 -0.999909 901.481
0 0 1
0 4 54
-0.999909 -0.0135226 851.576
0.0135226 -0.999909 901.481
1 1 2

代码:

In [47]: fn = 'a.data'
In [49]: np.loadtxt(fn)
Out[49]:
array([[ 0.00000000e+00, 3.00000000e+00, 5.30000000e+01],
[ -9.99909000e-01, -1.35226000e-02, 8.51576000e+02],
[ 1.35226000e-02, -9.99909000e-01, 9.01481000e+02],
[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00],
[ 0.00000000e+00, 4.00000000e+00, 5.40000000e+01],
[ -9.99909000e-01, -1.35226000e-02, 8.51576000e+02],
[ 1.35226000e-02, -9.99909000e-01, 9.01481000e+02],
[ 1.00000000e+00, 1.00000000e+00, 2.00000000e+00]])

关于python - 如何从 python 2.7 中的三个列表创建矩阵列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38002069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com