我有一个字典,其中的值是字符串,我需要它们作为列表。所以我试着这样做:
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
答案 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()}