我有一个看起来像这样的文本文件:
A(四个空格)16
B(四个空格)25
等
我需要制作一个如下所示的字典:dic = {A:16,B:25,等等} 我已经尝试过“拆分”(原来这不适用于空格)。 到目前为止,这是我的代码:
public static Texture getScreen(String name) {
File f = new File(getScreensDirectory(), name);
return new Texture(Gdx.files.absolute(f.getAbsolutePath())); //<--where it was failing
}
目前给我一个字符串列表:“A(四个空格)16”,“B(空间)25”等。我只需要使用四个空格作为截止值将键与值分开。 有什么建议吗?
答案 0 :(得分:3)
构造函数dict()
采用可迭代的键值对。所以字典可以像这样直接构建:
with open("ABC.txt","r") as filein:
mydict = dict(line.split() for line in filein)
答案 1 :(得分:0)
我不明白为什么split
不应该工作......请尝试以下方法。
dic = {}
with open("ABC.txt",'r') as f:
for l in f:
key,value = l.split() #Set two temporary variables for easy access to data
dic[key] = int(value) #Set the appropriate key of the list to its respective value
print dic
答案 2 :(得分:-2)
lines不是字典,它是一个列表,使它成为你应该初始化的字典:
lines = {}
你也可以这样做:
for line in filein:
lines[line[0]] = line[-2:]
假设您的键和值的长度始终相同,并假设一行是某些类似
A 25