我写了这样的东西来把逗号分隔的列表转换成dict。
def list_to_dict( rlist ) :
rdict = {}
i = len (rlist)
while i:
i = i - 1
try :
rdict[rlist[i].split(":")[0].strip()] = rlist[i].split(":")[1].strip()
except :
print rlist[i] + ' Not a key value pair'
continue
return rdict
有没有办法
for i, row = enumerate rlist
rdict = tuple ( row )
还是什么?
最佳答案
如果我正确理解您的需求,那么您可以使用以下一行代码。
def list_to_dict(rlist):
return dict(map(lambda s : s.split(':'), rlist))
例子:
>>> list_to_dict(['alpha:1', 'beta:2', 'gamma:3'])
{'alpha': '1', 'beta': '2', 'gamma': '3'}
您可能需要在分割后
strip()
键和值,以便修剪空白。return dict(map(lambda s : map(str.strip, s.split(':')), rlist))