Python,解包和重新排序有序字典列表

Python,解包和重新排序有序字典列表,python,ordereddict,Python,Ordereddict,我有一份有序字典的清单 我希望将每个字典的第一个值设置为键,将字典本身设置为值(包括名称),然后返回一个新列表 数据=[ 有序的( [('Name','Tel saki'),('Area','210'),('lation',32.866477),('Longitude',35.830773),('elevation',481), (“添加日期”,“2020年3月13日”), 有序的( [('Name','Mitzphe shelagim'),('Area','210'),('Latitude',

我有一份有序字典的清单

我希望将每个字典的第一个值设置为键,将字典本身设置为值(包括名称),然后返回一个新列表

数据=[
有序的(
[('Name','Tel saki'),('Area','210'),('lation',32.866477),('Longitude',35.830773),('elevation',481),
(“添加日期”,“2020年3月13日”),
有序的(
[('Name','Mitzphe shelagim'),('Area','210'),('Latitude',33.30445),('Latitude',35.797814),
(“标高”,2110),(“添加日期”,“2020年3月29日”),订购信息和通信技术(
[('Name','Mitzphe adi'),('Area','769'),('Latitude',33.2253981),('Longitude',35.5495681),
(‘标高’,680),
(“添加日期”,“2020年3月17日”),
有序的(
[('Name','Nhahal Oz'),('Area','300'),('Latitude',31.4762228),('Longitude',34.4974832),
(‘立面’,68),
(“添加日期”,“2020年3月30日”),
有序的(
[('Name','105'),('Area','210'),('Latitude',33.220439),('Latitude',35.808097),('elevation',1127),
(“添加日期”,“2020年4月7日”),
有序的(
[('Name','Ifthah'),('Area','300'),('Latitude',31.5487777),('Latitude',34.4873539),('elevation',29),
(“添加日期”,“2020年4月8日”)]
我的代码:


类重新打包字典:
索引=0
@类方法
def返回值列表(cls):
而cls.index

它的输出为“无”,我不明白为什么。

对于这样一个琐碎的问题,使用类看起来太过分了。使用dict理解的简单函数如下所示:

def repack(data):
    return {next(iter(d.values())): d for d in data}

在函数调用之间不重置索引值。您需要在之后设置
cls.index=0
name,data\u set=cls。在
def create\u new\u dicts(cls)中返回值列表()
。因为您不这样做,所以在
def create\u new\u dicts(cls):
中,您永远不会进入while循环


为什么要在类级别而不是在函数中使用索引?

这意味着出于某种原因,while循环没有进入。您可能不希望从两个函数的内部返回,而是从后面返回。