簡體   English   中英

Python:將列表轉換成字典

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM