2017-01-11 1 views
0

Ich habe ein Wörterbuch, in dem die Werte Strings sind und ich brauche sie Listen. Also habe ich versucht zu tun:Wie konvertiert man Wörterbuchwerte von String in Liste?

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

es jedoch einen Fehler zurück, das heißt, Stringindex außerhalb des zulässigen Bereichs

Mein ganzer Code ist:

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

Wie 'lista' aussieht? –

+0

agrupa_por_chave ([('a', 'b'), ('a', 'c')]) –

+1

Fügen Sie erwarteten Eingang und Ausgang – Harsha

Antwort

3

Wenn Sie möchten dict mit Zeichenfolgenwerten erhalten, die durch Listen ersetzt werden:

>>> 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

Wie wäre:

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

oder auf der Grundlage der Klärung im Kommentar:

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

nicht ganz hinzu. die den gesamten Wert in einer Liste zurückgeben und ich brauche eine Liste, die jedes Element des Wertes enthält –

Verwandte Themen