![](/img/trans.png)
[英]Reading lines from a file using a generator comprehension vs a list comprehension
[英]list generator/comprehension for reading from file and putting in list
假设我从创建一个类开始,变量为self.memory = [None] * 10000
。 现在,我有一个结构如下的文件:
1 1231
2 1231
3 asdma
4 landsl
我想生成一个生成器语句,该语句将读取文件的每一行并将其放在self.memory变量中的指定索引处(左数)。 这样的陈述可能吗?
编辑:添加当前正在使用的内容:
def AbsoluteLoader(self, f):
with open(f, 'r') as assembly:
for line in assembly:
c = line.split()
if int(c[0]) == -1:
self.pc = long(c[1])
break
try:
self.memory[int(c[0])] = long(c[1])
except:
print 'invalid'
class MyClass:
def __init__(self, fname, lines=10000):
self.pc = None
self.memory = mem = [0L] * lines
with open(fname) as inf:
for line in inf:
ndx, num = line.split()
ndx = int(ndx)
num = long(num)
try:
mem[ndx] = num
except IndexError:
if ndx == -1:
self.pc = num
break
else:
raise ValueError('invalid entry: {}'.format(line.rstrip('\r\n')))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.