[英]Python: converting list to dictionary
我有一個存儲在變量中的列表,我試圖將此列表轉換為帶有對應於其各自列表索引的字典鍵的字典。 關鍵是要創建圖像列表和矩形框(此處未顯示,但我已經測試了那部分代碼確實起作用)。 這是代碼:
hand = ['Lakers_01.png', 'Lakers_02.png', 'Lakers_03.png', 'Lakers_04.png']
tempHand = hand
finTempHand = {}
newTempHand = ["pygame.image.load("+tempHand+")" for t in tempHand]
print(newTempHand)
for i in range(0,len(newTempHand)):
finTempHand[i] = newTempHand[i]
我收到此錯誤:
newTempHand = ["pygame.image.load("+tempHand+")" for t in tempHand]
TypeError: must be str, not list
先感謝您
您可以使用字典理解來實現。
hand = ['Lakers_01.png', 'Lakers_02.png', 'Lakers_03.png', 'Lakers_04.png']
finTempHand = {
i: "pygame.image.load({})".format(x)
for i, x in enumerate(hand)
}
首先,您使用了錯誤的變量
newTempHand = ["pygame.image.load("+tempHand+")" for t in tempHand]
應該
newTempHand = ["pygame.image.load("+t+")" for t in tempHand]
其次,您可以使用dict理解,也可以從范圍中刪除該0
完整代碼:
hand = ['Lakers_01.png', 'Lakers_02.png', 'Lakers_03.png', 'Lakers_04.png']
finTempHand = {
i: 'pygame.image.load({})'.format(current)
for index, current in enumerate(hand)
}
最終結果受到@Rhaul的回答啟發
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.