如何解决“字典更新序列元素#0的长度为4;必须为2”
当尝试使用元组更新字典时,遇到错误:
>>> dict1.update(("stat",10))
ValueError: dictionary update sequence element #0 has length 4; 2 is required
实际上,这不应该发生。在python文档中,
update()接受另一个字典对象或键/值对的迭代(如元组或其他长度为2的迭代)。
这毫无意义,因为我提供的元组的长度显然为2。
>>> len(("stat",10))
2
这是怎么回事?这是尚未解决的错误吗?运行Python 3.8.0。
这是由于我的词典为空吗?尝试了其他字符串和值,同样的问题。
解决方法
文档说您需要 可迭代 的键值对。一个元组不是键值对的迭代,元组列表或元组都可以。
dict1.update([("stat",10)])
,
文档说“或键/值对的迭代(如长度为2的元组或其他迭代)”。
因此,您需要将长度为2的元组传递给它
尝试一下:
dict1.update((("stat",10),))
或者您可以按以下方式传递多个键/值对:
dict1.update((("stat",('foo','bar'),('buzz','fizz')))
,
在元组末尾dict1.update((("stat",))
中添加,
或传递列表dict1.update([("stat",10)])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。