字符串用空格作为键/值分隔符

时间:2016-03-08 21:43:42

标签: python dictionary split

我有一个看起来像这样的文本文件:

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”等。我只需要使用四个空格作为截止值将键与值分开。 有什么建议吗?

3 个答案:

答案 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