当我把一个列表转换成一个字典时,我遇到了一个错误,因为在一个索引的列表中有两个单词,如下所示:
键_标准.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'}
正如@Gerges所说,您的错误是
DATA_KBBI
中的一个值不包含\t
。所以split
只返回一个元素,它不能被解压成key
和val
。你知道吗根据您希望在这种情况下发生什么,您可以尝试使用^{}
这是可行的,但是如果字符串中没有
\t
字符val
将是''
(因此sep
)。这取决于你如何处理这样的价值观。在获取键和值之前,还可以测试split的返回值的长度>;1,但我认为分区稍微优雅一些。你知道吗相关问题 更多 >
编程相关推荐