繁体   English   中英

列表生成器/理解,用于从文件读取并放入列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM