Python - 字典更新序列元素#0的长度为40; 2是必需的

时间:2017-07-18 17:44:11

标签: python dictionary runtime-error

我写了以下脚本:

import os

i = 0
images = []
images_classes = {}
directory = '/home/Desktop/Images'

for image in os.listdir(directory):
    images.append(image)
    dir_path = os.path.dirname(os.path.realpath(image[i]))
    dir_name = os.path.basename(dir_path)
    images_classes.update({image, dir_name})
    i = i + 1

print images_classes

当我尝试运行程序时,出现以下错误:

Traceback (most recent call last):
  File "test.py", line 12, in <module>
    images_classes.update({image, dir_name})
ValueError: dictionary update sequence element #0 has length 40; 2 is required

我基本上尝试在每次迭代时向字典中添加新元素。我怎么能这样做?

感谢。

1 个答案:

答案 0 :(得分:1)

dict的文档说,&#39; update()接受另一个字典对象或一对键/值对的迭代(作为元组或长度为2的其他迭代)。如果指定了关键字参数,则使用这些键/值对更新字典:d.update(red = 1,blue = 2)。&#39;

你通过的既不是。