在Python中动态创建字典中的键和值

时间:2016-09-20 13:20:30

标签: python-3.x dictionary

我是Python新手。我在这里阅读格式为

的文件中的几行
    121212-pr-ba-su_re;m1;1;10000

我使用分割功能提取(pr-ba-su)内容。请查看我写的代码。我希望将Prefix-base-suffix作为键存储,并将其值作为ID(在循环的第一行中提取)存储在字典中。 (我想用另一个列表中的值替换键。因此,我正在尝试创建一个字典。)

    data ={}    
    f = open('var_test.txt')
    for line in f:
            part,m,t,ID = line.split(';',3)
            partnumb,r = part.split('_',1)
            item,prefix,base,suffix =partnumb.split('-',3)
            data[prefix'-'base'-'suffix] =ID

但是我收到语法错误

的错误
        data(getattr([prefix'-'base'-'suffix])) =PID
                          ^SyntaxError: invalid syntax

我尝试过使用getattr()函数,并且更新函数但没有用。任何人都可以帮助我吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

data[prefix'-'base'-'suffix] =ID是您的问题。它不是有效的Python语法。

您可以通过替换此行来获得您期望的结果

data["{}-{}-{}".format(prefix, base, suffix)] = ID