如何将列表转换为字典?

2024-10-02 22:27:19 发布

您现在位置:Python中文网/ 问答频道 /正文

当我把一个列表转换成一个字典时,我遇到了一个错误,因为在一个索引的列表中有两个单词,如下所示:

键_标准.txt

['bimbel\tbimbingan belajar']

他们是这么说的:

ValueError: not enough values to unpack (expected 2, got 1)

这是我的代码,如果每个索引的列表中只有一个单词,它就会运行。你知道吗

#normalize word
DATA_KBBI = [kamus.strip('\n').strip('\r') for kamus in open('key_norm.txt')]

#convert to dict

dic={}
for i in DATA_KBBI: 
    (key,val)=i.split("\t")
    dic[str(key)]=val

我希望输出如下:

{'bimbel' : 'bimbingan belajar'}

Tags: tokeyintxt列表fordataval
1条回答
网友
1楼 · 发布于 2024-10-02 22:27:19

正如@Gerges所说,您的错误是DATA_KBBI中的一个值不包含\t。所以split只返回一个元素,它不能被解压成keyval。你知道吗

根据您希望在这种情况下发生什么,您可以尝试使用^{}

key, sep, val = i.partition('\t')

这是可行的,但是如果字符串中没有\t字符val将是''(因此sep)。这取决于你如何处理这样的价值观。在获取键和值之前,还可以测试split的返回值的长度>;1,但我认为分区稍微优雅一些。你知道吗

相关问题 更多 >