如何以保持相互索引一致的方式对dict和列表进行分类和列出

  • 本文关键字:列表 dict 分类 方式 索引 python
  • 更新时间 :
  • 英文 :


我有一个以下问题:如果我有字典和列表,例如:


mydict = { “a” : url1, “b” : url2; “c” : url3; “d” : url4; “e” : url5}
mylist = [25, 76, 3, 8, 105]

5个元素。

我想对列表进行排序


mylist.sort()

我会这样:


mylist = [3, 8, 25, 76, 105]

但是,如果我想以这种方式与MyDict的原始索引0同时迭代MDICT和MYLIST,该怎么办,那是MyList的Index0,那就是" A":url1会重合25个?如果我分类了,订单将被打破…对" A":url1进行排序后,将重合3个Indexwise

问题是如何以一种索引仍然会像在Formloop的迭代期间一样以原始顺序重合的方式对Mydict和MyList进行分类? " a":url1→25,b":url2→76等,但应该同时对myList进行排序,也就是说,我必须以某种方式将mydict与mylist分类。

如果要保留订购,则可能必须使用OrderedDict。对于您的情况,以下代码应起作用。请记住OrderedDict Preservers插入顺序。

from collections import OrderedDict
mydict = OrderedDict([('a', 'url1'), ('b', 'url2'),
                      ('c', 'url3'), ('d', 'url4'), ('e', 'url5')])
mylist = [25, 76, 3, 8, 105]
result_list, result_dict = zip(*sorted(zip(mylist, mydict.items())))
print(result_list)
print(OrderedDict(result_dict))

最新更新