在python中读取一个文件并创建一个列表结果是一个空列表

2024-04-20 06:20:08 发布

您现在位置: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总是为空。“foo1,txt”包含以下数据:

1 15
2 6 10
3 10
4 9
5 

Tags: 文件代码infordatasizelencreate
2条回答

试试这个,我觉得它最像Python了:

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)

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

   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', '']

相关问题 更多 >