所以基本上我试图采取一个文件,并打破它取决于文本在文件中的位置。你知道吗
所以我有一个这样的方法
def sort_file(f):
#print(f.read())
mnemonics = []
mnemonic_line = []
next(f)#skip the default group on the first line
for line in f.readlines():
mnemonic_line.append(line[0:3])
mnemonic_line.append(line[5:8])
#print(line[5:8])
#print(line[9:69])
#print(line[69:139])
#print(line[139:190])
mnemonics.append(mnemonic_line)
#del mnemonic_line[:]
pdb.set_trace()
#print(line.split())
#print(len(line))
我试图创建一个列表列表,其中每一行是一个列表,而整个文件是一个行列表。你知道吗
所以我想我知道问题是什么,但我不知道如何解决它。据我所知,每次我通过并添加到列表中,我都会使用我的原始列表,每次都会增长。你知道吗
(Pdb) print mnemonics
[['CTM', 'ABS']]
(Pdb) c
(Pdb) print mnemonics
[['CTM', 'ABS', 'CTM', 'ACA'], ['CTM', 'ABS', 'CTM', 'ACA']]
(Pdb) c
(Pdb) print mnemonics
[['CTM', 'ABS', 'CTM', 'ACA', 'CTM', 'ACC'], ['CTM', 'ABS', 'CTM', 'ACA', 'CTM', 'ACC'], ['CTM', 'ABS', 'CTM', 'ACA', 'CTM', 'ACC']]
正如你所看到的,我的助记符行列表每次循环都会增长,并在位置1、2、3、4处重新加上它自己。。。当前循环的值。你知道吗
我想我需要做的是每次创建一个新的列表,并将它添加到我的列表列表中,这样我的输出看起来像这样
[['CTM', 'ABS'],['CTM', 'ACA'],['CTM', 'ACC']]
任何关于如何做到这一点的帮助都将不胜感激:)
只需将
mnemonic_line = []
移到for循环中:将
mnemonic_line
附加到循环中的mnemonics
之后,不会清除(或重新初始化)mnemonic_line
。这就是我的意思:看看你的代码。每次迭代都要将
mnemonic_line
附加到mnemonics
,但没有清除mnemonic_line
看看这个,然后把它应用到你的代码中
相关问题 更多 >
编程相关推荐