如何将字典值从字符串转换为列表?

时间:2017-01-11 11:48:46

标签: python python-3.x dictionary python-3.5

我有一个字典,其中的值是字符串,我需要它们作为列表。所以我试着这样做:

for v in dic:
    v[1] = list(v[1])

然而,它返回一个错误, 字符串索引超出范围

我的整个代码是:

def agrupa_por_chave(lista):
    dic = {
        }
    for t in lista:
        if t[0] not in dic:
            dic[t[0]] = t[1]
        else:
            dic[t[0]] += t[1]
    for v in dic:
        v[1] = list(v[1])
    return dic

2 个答案:

答案 0 :(得分:3)

如果您希望将字符串值替换为列表来获取dict:

>>> l = {1: 'abc', 2: 'def'}

>>> l
{1: 'abc', 
 2: 'def'}

>>> {k:list(v) for k,v in l.items()}
{1: ['a', 'b', 'c'], 
 2: ['d', 'e', 'f']}

答案 1 :(得分:1)

怎么样:

dic = {k: [v] for k, v in dic.items()}

或基于评论中的澄清:

dic = {k: list(v) for k, v in dic.items()}