2017-01-11 12 views
0

私は値が文字列であり、それらをリストにする必要がある辞書を持っています。だから私は実行しようとしました:辞書値を文字列からリストに変換するにはどうすればよいですか?

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

lista'がどのように見えますか '? –

+0

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

+1

予期しない入出力を追加します。 – Harsha

答えて

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

方法について:

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

やコメントで明確化に基づく:

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

リスト内の値全体を返すので、値の各要素を含むリストが必要です –

関連する問題