你好我有一个我希望插入字典的列表 - 但是不是每个元素都是字典中的新元素 - 列表本身长达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",所以我想知道是否有更干净的方式?
答案 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'}
>>>