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

问题描述:

你好我有一个列表,我想插入到一个字典 - 但不是每个元素在字典中的新元素 - 列表本身是2项长,应该使用作为“键值”对。或者(因为知道python有几十种方法来做某些事情,所以这可能甚至不是必需的)。该基地的问题是,我想一个字符串分割成两个部分围绕一个分隔符,使用左为“关键”和“价值”的权利:使用列表作为要插入的键值对

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:] 

但这似乎不是习惯性的“蟒蛇”,所以我想知道是否有更干净的方式?

+0

PS:已经回答(等待时间) - 但你能解释的downvote? – paul23

+0

如果答案很简单,有些人会以“为什么你不能想到这个?他们在Python中忘记了,一切都很简单。 :) – iCodez

+1

“一切都很简单”,在这个过程中,python变得非常复杂。 8086汇编很简单 - 只有很多操作码需要考虑。 – paul23

你可以在这里使用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'} 
>>>