1. 程式人生 > >python報錯 ValueError: dictionary update sequence element #0 has length 1; 2 is require

python報錯 ValueError: dictionary update sequence element #0 has length 1; 2 is require

原文連結地址:
https://blog.csdn.net/weixin_40894428/article/details/80683137
字串轉字典要用eval(),這個方法很多書上都沒有介紹,
有關eval()的用法,傳送門:
http://www.runoob.com/python/python-func-eval.html

另外我的是比較基礎的:

>>> ss = ['a','bc','def']
>>> dict(ss)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #0 has length 1; 2 is required
>>> eval(ss)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: eval() arg 1 must be a string, bytes or code object
>>>
>>> ss = ['aa','bc','def']
>>> dict(ss)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #2 has length 3; 2 is required
>>> ss = ['a','bc','de']
>>> dict(ss)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #0 has length 1; 2 is required
>>> ss = ['aa','bc','de']#改為2個字元就好啦!
>>> dict(ss)
{'a': 'a', 'b': 'c', 'd': 'e'}
>>> ss = ['awed','webc','wede']
>>> dict(ss)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #0 has length 4; 2 is required
>>>

這個僅僅是因為,需要轉換的字串不是2位!
在這裡插入圖片描述