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
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
方法 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 是一种多功能的高级语言,用户易于理解。