簡體   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