使用列表作为要插入的键值对

时间:2014-07-01 15:17:11

标签: python dictionary string-split

你好我有一个我希望插入字典的列表 - 但是不是每个元素都是字典中的新元素 - 列表本身长达2个项目,应该用作"键值"对

或者(因为知道python有很多方法可以做某事,所以也许这甚至是不必要的)。基本问题是我希望将一个字符串分成两个部分围绕一个分隔符,并使用左边的" key"和权利"价值":

for line in file:
    if "=" in line:
        tpair = line.split("=",1)
        constantsMap.update(tpair)

当然,我可以进行手动拆分,如:

for line in file:
    if "=" in line:
        p = line.find("=")
        constantsMap[line[:p]] = line[p+1:]

但这似乎不是惯用语" python",所以我想知道是否有更干净的方式?

1 个答案:

答案 0 :(得分:3)

您可以在此处使用sequence unpacking

key,val = line.split("=", 1)
constantsMap[key] = val

参见下面的演示:

>>> line = "a=1"
>>> constantsMap = {}
>>> key,val = line.split("=", 1)
>>> constantsMap[key] = val
>>> constantsMap
{'a': '1'}
>>>