Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 把口述词改成另一个口述词_Python_Dictionary_Ordereddictionary - Fatal编程技术网

Python 把口述词改成另一个口述词

Python 把口述词改成另一个口述词,python,dictionary,ordereddictionary,Python,Dictionary,Ordereddictionary,我需要将dict按值排序为另一个dict,如下所示 dict_filtro = {"Conector 1":{"alasca":30,"USA":10,"Brasil":20}, "Conector 4":{"alasca":60,"USA":60,"Brasil":10},

我需要将dict按值排序为另一个dict,如下所示

dict_filtro = {"Conector 1":{"alasca":30,"USA":10,"Brasil":20},
                "Conector 4":{"alasca":60,"USA":60,"Brasil":10},
                "Conector 3":{"alasca":70,"USA":15,"Brasil":24},
                "Conector 2":{"alasca":10,"USA":19,"Brasil":6}}

dict_ordered  = ordered_dict_by_value(dict_filtro,["alasca"])
print(dict_ordered)

>>{"Conector 2":{"alasca":**10**,"USA":19,"Brasil":6}},
   "Conector 1":{"alasca":**30**,"USA":10,"Brasil":20},
   "Conector 4":{"alasca":**60**,"USA":60,"Brasil":10},
   "Conector 3":{"alasca":**70**,"USA":15,"Brasil":24}}

我已经在寻找很多解决方案,但从来都不适合我的问题。

你可以通过熊猫来完成:

import pandas as pd

dict_filtro = {"Conector 1":{"alasca":30,"USA":10,"Brasil":20},
            "Conector 4":{"alasca":60,"USA":60,"Brasil":10},
            "Conector 3":{"alasca":70,"USA":15,"Brasil":24},
            "Conector 2":{"alasca":10,"USA":19,"Brasil":6}}

df = pd.DataFrame(dict_filtro)

a = df.transpose()
b = a.sort_values(by='alasca')
c = b.transpose()

data_dict = c.to_dict() 

print(data_dict)

python中的字典没有可以控制的顺序;它在引擎盖下实现的方式意味着它没有。如果你真的想用一本字典,它会有一个特别的版本,但正如Robby所说,这可能不是你最好的选择。如果我是你,我会尝试创建一个键列表,比如[“Conector 2”、“Conector 1”…],然后你可以在需要时使用字典查找与这些键相关的值。字典是从python版本3.6开始排序的。请参阅:@bitranox在3.6中,它只是一个CPython实现细节(而不是在3.6之前)。在3.7年,它正式成立。