首页 > 解决方案 > 将字符串列表转换为字典

问题描述

我想将字符串列表转换为字典。

在我将其拆分为单独的单词后,该列表看起来像这样:

[['ice'], ['tea'], ['silver'], ['gold']]

我想将其转换为如下所示的字典:

{ 1 : ['i', 'c', 'e'] 
  2 : ['t','e','a']
  3 : ['s','i','l','v','e','r']
  4 : ['g','o','l','d']}

到目前为止,这是我的代码:

import itertools

def anagram1(dict):
    with open('words.txt', 'r') as f:
        data = f.read()

        data = data.split()

        x = []

        y = []

        for word in data:
                x1 = word.split()
                x.append(x1)

        for letters in word:
            y1 = letters.split()
            y.append(y1)
            d = dict(itertools.zip_longest(*[iter(y)] * 2, fillvalue=""))

我收到以下错误:

TypeError: 'dict' object is not callable

标签: pythonlistdictionary

解决方案


import pprint
l = [['ice'], ['tea'], ['silver'], ['gold']]
d = {idx: list(item[0]) for idx, item in enumerate(l, start =1)}
pprint.pprint(d)
{1: ['i', 'c', 'e'],
 2: ['t', 'e', 'a'],
 3: ['s', 'i', 'l', 'v', 'e', 'r'],
 4: ['g', 'o', 'l', 'd']}

推荐阅读