在python中读取文件并创建列表会变成一个空列表

时间:2014-11-02 13:36:50

标签: python

我使用以下代码从文件中读取:

G={}
for line in fin: # load data, create adj lists
    lst=[]
    size= len(line)
    i=0
    while (i<size):
        if line[i] in ' \t\r\n': pass
        else:
            lst.append(int(line[i:i+2].strip()))
            i=i+1
        i=i+1
    G[lst[0] ]=lst[1:]

print(G)

但是G总是空的。&#34; foo1,txt&#34;包含以下数据:

1 15
2 6 10
3 10
4 9
5 

2 个答案:

答案 0 :(得分:1)

我已经编写了备用代码,用于将数据附加到文件列表中,如果需要此代码,可以参考:

   f = open('filename')

   dic = []

   for l in f:

       v = l.split(' ')
       v= map(lambda s: s.strip(), v)


      dic=dic+v


  print dic

输出:

   ['1', '15', '2', '6', '10', '3', '10', '4', '9', '5', '']

答案 1 :(得分:0)

试试这个,我认为它是最pythonic:

fin = open("foo1.txt")
G={}
for line in fin: # load data, create adj lists
    lst = line.split()
    lst = [int(x) for x in lst]
    G[lst[0] ]=lst[1:]
print(G)