用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
2 个回答
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', '']
0
试试这个,我觉得这是最符合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)