Python – 字典中的優先順序鍵分配


Python 語言由各種資料結構組成,字典就是其中一種。字典資料結構中的元素以逗號分隔,幷包含在花括號“{}”中。Python 由於其簡單性和與其他應用程式的靈活互用性而風靡全球。除了其他語言外,它因其易於使用簡單的語法和語句進行編碼等優勢而佔據了獨特的地位。字典資料結構可以儲存大量資料集,但根據優先順序查詢元素可能很困難。

字典中的優先順序鍵分配

在 Python 語言的各種資料結構中,字典是一種處理資料結構的複雜結構。字典不遵循任何元素順序,並且分配的鍵值無法更改。字典可以包含列表、元組或其他字典等元素。字典的基本語法是:

Dict_1 = {‘hello’: ‘all’, ‘welcome’: 897}

本文將解釋使用不同方法對元素進行優先順序排序的方法。

在 Python 字典中進行優先順序鍵分配允許開發人員根據其重要性為鍵分配優先順序。透過為字典中的不同鍵分配優先順序,我們可以確保它們以特定的順序進行處理,而不管它們在程式碼整體結構中的位置如何。

優先順序鍵分配示例

假設您有一個車隊管理系統,其中每輛車都連線有多個感測器,這些感測器提供有關其狀況的即時更新,例如速度、油耗和發動機溫度。但是,如果我們在建立每個感測器項(鍵)時使用“priority_key”引數,則可以更好地控制字典的處理順序,因為應首先訪問具有較高值的元素:

fleet_management = {'VehicleA': { 'EngineTemp': 45,'SpeedSensor': 65}, 
                    'VehicleB': { 'FuelConsumption' :34 ,'SpeedSensor' :80}}

在這種情況下,車輛 A 的 EngineTemp 使用較低的整數接受高優先順序值,而對於車輛 B,速度感測器比油耗感測器具有更高的優先順序,如分配的整數比 34 大所示。

因此,透過每次在迴圈/迭代中訪問車隊資料時遵循此屬性,將根據這些“priority_keys”值產生優先順序結果,這在處理不同優先順序的資料時非常有用。

方法

  • 方法 1 - 使用匹配元素

  • 方法 2 - 使用迭代方法

方法 1:使用匹配元素列印字典中優先順序鍵分配的 Python 程式

生成器表示式用於匹配列表和字典資料結構中的元素。

演算法

  • 步驟 1 - 字典值用字串和鍵對初始化。

  • 步驟 2 - 列表資料結構聲明瞭一些字串元素。

  • 步驟 3 - 使用生成器表示式在列表和字典之間查詢匹配的元素。

  • 步驟 4 - 列印匹配或優先的元素。

  • 步驟 5 - 然後列印最終值。

示例

# Initialize a dictionary with some key-value pairs.
dict1 = {'Hello' : 9, 'to' : 6, 'Welcome' : 3, 'ALL' : 56}

# Initialize a list with some elements.
list1 = ['ALL', 'is', 'come']

# Get the matching element from list1 and dict1.
matching_element = next((a for a in list1 if a in dict1), None)

# Print the matching element.
print("Matching element is : " + str(matching_element))

# Print the value of matching_element.
print("Value of matching element is : " + str(dict1[matching_element]))

輸出

Matching element is : ALL
Value of matching element is : 56

方法 2:使用迭代方法列印字典中優先順序鍵分配的 Python 程式

字典資料結構和優先順序列表被初始化,當元素匹配時返回優先順序鍵。當元素不匹配時,它返回 None 值。

演算法

  • 步驟 1 - 字典值用字串值初始化,並分配鍵值。

  • 步驟 2 - 優先順序列表遵循列表資料結構,其中包含一些字串以匹配值。

  • 步驟 3 - 為變數賦值為“None”。

  • 步驟 4 - for 迴圈用於迭代給定的字典值。

  • 步驟 5 - 噹噹前值與字典匹配時,它返回鍵值。

示例

#initializing the dictionary data structure
dict1 = {'Hello' : 9, 'to' : 6, 'Welcome' : 3, 'ALL' : 56}
#Declaring the priority list to match it with the dictionary data structure
prioritylist = ['ALL', 'John', 'Home']

#Declaring val as None
val = None
#for loop will iterate through the dictionary of values
for num in dict1:
#If the element is present in both dict1 and prioritylist
	if num in prioritylist :
		val = dict1[num]
		break
#Print function will return the priority element
print("Value of matching element is : " + str(val))

輸出

Value of matching element is : 56

結論

在當今世界,對於擁有大量資料的組織來說,處理資料是最具挑戰性的任務,隨著資料科學和機器學習的發展,訪問資料變得更加容易。Python 是一種多功能的高階語言,使用者易於理解。

更新於:2023年9月4日

瀏覽量:209

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.