python - 将字符串列表转换为字典
问题描述
我想将字符串列表转换为字典。
在我将其拆分为单独的单词后,该列表看起来像这样:
[['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
解决方案
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']}
推荐阅读
- c# - 为什么 Staples.com 的 HttpClient GET 超时?
- assembly - 通过堆栈传递参数
- git - 从一台设备上删除远程分支并不会从另一台设备的源中删除它
- java - 用于登录/注册/检查 HttpSession 的 web servlet 方法是否有效?
- r - 基于最接近的匹配合并两个数据帧而没有完全匹配
- selenium-webdriver - 使用 Selenium Webdriver 自动化响应式设计
- tabs - 如何在 Material-UI v1 中实现自定义 Tab 指示器颜色
- javascript - 添加日期未捕获的类型错误:getDate 不是函数
- python - Python:从 2 个大数组中计算出现次数
- php - 如何防止 php 函数 file_get_contents 截断我的请求