0
我寫了下面的腳本:Python - 字典更新序列元素#0的長度爲40; 2需要
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
基本上,我想加入新的元素字典在每次迭代。我該怎麼做?
謝謝。
你的意思是做'{image:dir_name}'? –
好奇......你爲什麼使用'images_classes.update'這是一張地圖..你不應該使用'images_classes [image] = dir_name'?我認爲.update通常用於合併大多數我認爲的地圖,這意味着它可能會在底下使用某種循環。'images_classes [image] = dir_name'可能會更有效,因爲您將自己保存爲一個額外的函數調用。 – reticentroot
@cᴏʟᴅsᴘᴇᴇᴅ我認爲你的解決方案解決了這個問題。謝謝! – Simplicity