我正在尝试创建一个Python脚本,在该脚本中,我使用了一个正则表达式,该正则表达式与文件中的2个cols相匹配(作为两个数组)。
import re
import numpy as np
filename = ('test')
a = []
b = []
with open (filename,'r') as f:
for line in f:
v1 = re.findall(r"^\s+\d+.\d+\s+(\d+.\d+)",line)
v2 = re.findall(r"^\s+\d+.\d+\s+\d+.\d+\s+\d+.\d+\s+(\d+.\d+)",line)
a.append(v1)
b.append(v2)
接着,使用生成器-yeild,我从两个数组中分别制作了10行的块
n = 10
def chunks(a):
for i in range(0, len(a), n):
yield a[i:i + n]
as = []
a = chunks(a)
for x in range(0,20):
globals()['as%s' % x] = np.array(next(a))
def chunks(b):
for j in range(0, len(b), n):
yield b[j:j + n]
bs = []
b = chunks(b)
for x in range(0,20):
globals()['bs%s' % x] = np.array(next(b))
所以现在我有20个a数组和20个b数组,每个数组包含10行/元素。 我想用这个来计算as1 [0] * bs1 [0]
的乘积for k in range(0,20):
for l in range (0,10):
prod = (globals()['cvs%s' % k][l] * globals()['hills%s' % k][l])
print (prod)
但是这不起作用,如果有人帮助我计算产品,那将很棒。我是python的新手。
谢谢你, 祝你有美好的一天。