📜  Python - 自定义订单字典

📅  最后修改于: 2022-05-13 01:54:54.665000             🧑  作者: Mango

Python - 自定义订单字典

有时,在使用Python字典时,我们可能会遇到需要执行字典键的自定义排序的问题。这是一个非常流行的问题,随着新版本Python的出现,其中键在字典中排序,可能需要对字典键重新排序。让我们讨论可以执行此任务的某些方式。

方法#1:使用循环
这是解决此问题的蛮力方法。在此,我们通过在顺序列表中附加键,与原始字典中的键映射来构造更新的字典。适用于Python >= 3.6。

# Python3 code to demonstrate working of 
# Custom order dictionary
# Using loop
  
# initializing dictionary
test_dict = {'is' : 2, 'for' : 4, 'gfg' : 1, 'best' : 3, 'geeks' : 5} 
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing order
ord_list = ['gfg', 'is', 'best', 'for', 'geeks']
  
# Custom order dictionary
# Using loop
res = dict()
for key in ord_list:
    res[key] = test_dict[key]
  
# printing result 
print("Ordered dictionary is : " + str(res)) 
输出 :

方法#2:使用字典理解
这是可以执行此任务的另一种方式。在此,我们使用与上述相同的方法使用速记来解决问题。

# Python3 code to demonstrate working of 
# Custom order dictionary
# Using dictionary comprehension
  
# initializing dictionary
test_dict = {'is' : 2, 'for' : 4, 'gfg' : 1, 'best' : 3, 'geeks' : 5} 
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing order
ord_list = ['gfg', 'is', 'best', 'for', 'geeks']
  
# Custom order dictionary
# Using dictionary comprehension
res = {key : test_dict[key] for key in ord_list}
  
# printing result 
print("Ordered dictionary is : " + str(res)) 
输出 :