5.6.3 列表到字典的函数,针对好玩游戏的物品清单
生活随笔
收集整理的這篇文章主要介紹了
5.6.3 列表到字典的函数,针对好玩游戏的物品清单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
'''
這個代碼段有兩個函數,
第一個函數displayInventory(Inventory)用于展示字典。
鍵是物品名稱,值是物品數量。展示模式是v個k。
第二個函數addToInventory(inventory,addedItems)用于更新字典。
更新方式是遍歷列表,對照字典鍵,有就+1,沒有就加進去。
'''
def displayInventory(inventory):#展示清單print('Inventory:')item_total=0for k,v in inventory.items():print(str(v)+' '+k)item_total+=vprint('Total number of items: '+str(item_total))
def addToInventory(inventory,addedItems):#加進清單,就是更新字典for i in addedItems:#遍歷列表addedItemsif i in inventory:inventory[i]+=1else:inventory[i]=1return inventory#返回更新好的字典
inv={'gold coin':42,'rope':1}
dragonLoot=['gold coin','dragger','gold coin','gold coin','ruby']
inv=addToInventory(inv,dragonLoot)#返回更新好的字典到inv
displayInventory(inv)#展示字典inv
?上面這是? ?inventorypy? ?文件de 最終版本。ok版本
下面這是運行結果:
?。
編碼過程中犯的錯誤:第二個函數遍歷列表的循環里面嵌套了一個遍歷字典
def addToInventory(inventory,addedItems):#加進清單,就是更新字典for i in addedItems:#遍歷列表addedItemsfor k,v in inventory.items(): #遍歷字典if i in inventory:inventory[i]+=1else:inventory[i]=1return inventory#返回更新好的字典報錯了。RuntimeError:dictionary changed size during iteration
?意思是,字典在遍歷時改變了。原來字典在遍歷時是不能被修改的。
列表里面嵌套字典、字典里面嵌套列表兩種情況下字典都不能更改。
ps:字典在遍歷時是不能被修改的。切記。
總結
以上是生活随笔為你收集整理的5.6.3 列表到字典的函数,针对好玩游戏的物品清单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gif截图工具
- 下一篇: [arduino]蓝牙开关灯