中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python字典和結構化數據實例分析

發布時間:2022-01-25 09:41:24 來源:億速云 閱讀:204 作者:iii 欄目:開發技術

本篇內容介紹了“python字典和結構化數據實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

字典數據類型

字典的索引可以使用許多不同類型的數據,不只是整數。字典的索引被稱為“鍵”,鍵及其關聯的值稱為“鍵—值”對,在代碼中,字典輸入時帶花括號{}。

字典中的表項是不排序的,所以字典不能像列表那樣切片。

python字典和結構化數據實例分析

keys()、values()和items()方法

key()、values()和items()方法將返回類似于列表的值,分別對應于字典的鍵、值和鍵-值對。這些方法返回的值不是真正的列表,他們不能被修改,沒有append()方法。但這些數據類型可以用于for循環。

>>> spam = {'color':'red','age':42}
>>> for i in spam.values():print (i)

red
42

可以通過list()方法將字典轉換為列表

>>> list(spam.keys())
['color', 'age']
>>> list(spam.values())
['red', 42]
>>> spam
{'color': 'red', 'age': 42}
get()方法setdefault()方法

get()方法有兩個參數:要取得其值的鍵,以及如果該鍵不存在時,返回的備用值

setdefault()方法提供了一種方式,傳遞給該方法的第一個參數,是要檢查的鍵,第二個參數,是如果該鍵不存在時要設置的值。如果該鍵存在就返回鍵值。

如果程序中導入了pprint()模塊,就可以使用pprint()和pformat()打印字典。

import pprint
message = 'It was a bright cold day in April, and the clocks were striking thirteen.'count = {}for character in message:
   count.setdefault(character, 0)
   count[character] = count[character] + 1print(pprint.pformat(count))#pprint.pprint(count)  print(pprint.pformat(count))這兩種表達式等價

運行結果:

{' ': 13,',': 1,'.': 1,'A': 1,'I': 1,'a': 4,'b': 1,'c': 3,'d': 3,'e': 5,'g': 2,'h': 3,'i': 6,'k': 2,'l': 3,'n': 4,'o': 2,'p': 1,'r': 5,'s': 3,'t': 6,'w': 2,'y': 1}

實踐項目

  1. 好玩游戲的物品清單

你在創建一個好玩的視頻游戲。用于對玩家物品清單建模的數據結構是一個字典。其中鍵是字符串,描述清單中的物品,值是一個整型值,說明玩家有多少該物品。例如,字典值{‘rope’: 1, ‘torch’: 6, ‘gold coin’: 42, ‘dagger’: 1,’arrow’: 12}意味著玩家有 1 條繩索、6 個火把、42 枚金幣等。 寫一個名為displayInventory()的函數,它接受任何可能的物品清單,并顯示如下:

Inventory:
1 rop
6 torch
42 gold coin
1 dagger
12 arrow
Total number of items :  62

代碼如下:

def displayInventory(dic):
   print('Inventory:')
   count = 0
   for k, v in dic.items():
       print(str(v) + ' ' + k)
       count = v+count
   print('Total number of items : ', count)


dicValue = {'rop': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}
displayInventory(dicValue)
  1. 假設征服一條龍的戰利品表示為這樣的字符串列表:
dragonLoot = ['gold coin', 'digger', 'gold coin', 'gold coin', 'ruby']

寫一個名為 addToInventory(inventory, addedItems)的函數,其中 inventory 參數 是一個字典,表示玩家的物品清單(像前面項目一樣),addedItems 參數是一個列表, 就像 dragonLoot。 addToInventory()函數應該返回一個字典,表示更新過的物品清單。

def displayInventory(dic):
   print('Inventory:')
   count = 0
   for k, v in dic.items():
       print(str(v) + ' ' + k)
       count = v+count
   print('Total number of items : ', count)


def addToInventory(inventory, addeditems):
   for i in addeditems:
       if i in inventory.keys():
           inventory[i] += 1
       else:
           inventory.setdefault(i, 1)            
   return inventory


inv = {'gold coin':42, 'rope':1}
dragonLoot = ['gold coin', 'digger', 'gold coin', 'gold coin', 'ruby']
inv = addToInventory(inv,dragonLoot)
displayInventory(inv)

前面的程序(加上前一個項目中的 displayInventory()函數)將輸出如下:

Inventory:
45 gold coin
1 rope
1 digger
1 ruby
Total number of items :  48

“python字典和結構化數據實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沾化县| 聊城市| 阿拉善左旗| 东平县| 辽宁省| 同心县| 沂水县| 滦南县| 栾川县| 台东县| 古田县| 陇南市| 明溪县| 灵武市| 安图县| 沁阳市| 桂东县| 周至县| 慈溪市| 清远市| 甘洛县| 内江市| 日喀则市| 景泰县| 达拉特旗| 甘孜| 西林县| 屯昌县| 淮北市| 游戏| 潼关县| 东兴市| 壶关县| 玛曲县| 永新县| 桃园市| 常德市| 洮南市| 凤庆县| 双城市| 新邵县|