Python 索引器:列表索引超出范围;试图作为论据通过
我对Python非常陌生,我正在尝试编写一个脚本,让我可以从我生成的几个文件中读取数据(它们有一套命名方案)。但是当我试着运行它时,我总是得到上面的索引器Python 索引器:列表索引超出范围;试图作为论据通过,python,Python,我对Python非常陌生,我正在尝试编写一个脚本,让我可以从我生成的几个文件中读取数据(它们有一套命名方案)。但是当我试着运行它时,我总是得到上面的索引器 before = [29, 22, 21] after = [6, 6, 1] prop = ['n_force', 'n_force_sub', 'x_force', 'x_force_sub'] for pi in prop: for m in before: t, fn = np.genfromtxt("peg
before = [29, 22, 21]
after = [6, 6, 1]
prop = ['n_force', 'n_force_sub', 'x_force', 'x_force_sub']
for pi in prop:
for m in before:
t, fn = np.genfromtxt("peg_4_60_shear_{0}.{1}.{2}".format(before[m],after[m],prop[pi]),unpack=True, skiprows=2)
编辑|问题已解决:我通过将之前的和之后的数组转换为字符串并将代码更改为以下内容来解决问题:
before = ['29', '22', '21']
after = ['6', '6', '1']
prop = ['n_force', 'n_force_sub', 'x_force', 'x_force_sub']
for l in range(0,3):
for m in range(0,2):
t, fn = np.genfromtxt("peg_4_60_shear_{0}.{1}.{2}".format(before[m], after[m], prop[l]) ,unpack=True, skiprows=2)
之后我有了更多的代码来打印抓取的数据,但现在我正在将数据保存到一个文件或其他东西中。谢谢大家:)当处理两个不同的列表时,您需要将它们zip()
for pi, m in zip(prop, before):
t, fn = np.genfromtxt("peg_4_60_shear_{0}.{1}.{2}".format(before[m],after[m],prop[pi]),unpack=True, skiprows=2)
m
在之前循环,并将依次获得值29、22、21
before
和before
没有30个元素,因此[m]
之前的和[29]之前的将中断
如果您想同时在两个序列上循环,那么最好使用值配对,例如
for pi in prop:
for b,a in zip(before, after):
t, fn = np.genfromtxt("peg_4_60_shear_{0}.{1}.{2}".format(b, a, prop[pi]),unpack=True, skiprows=2)
before=[29,22,21
未运行。发布实际代码。此外,发布完整错误