我写了这样的东西来把逗号分隔的列表转换成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))

07-24 19:24