Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将字典值从字符串转换为列表?_Python_Python 3.x_Dictionary_Python 3.5 - Fatal编程技术网

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

Python 如何将字典值从字符串转换为列表?,python,python-3.x,dictionary,python-3.5,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:

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

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

如果希望使用列表替换字符串值来获取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']}

如果希望使用列表替换字符串值来获取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']}
那么:

dic = {k: [v] for k, v in dic.items()}
或者根据评论中的澄清:

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

dic = {k: [v] for k, v in dic.items()}
或者根据评论中的澄清:

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

lista
看起来怎么样?agrupa\u por\u chave([('a','b'),('a','c'))添加预期的输入和输出
lista
看起来怎么样?agrupa\u por\u chave([('a','b'),('a','c'))添加预期的输入和输出。返回列表中的整个值,我需要一个包含值的每个元素的列表。返回列表中的整个值,我需要一个包含值的每个元素的列表