有序字典(orderedDict)
阿新 • • 發佈:2017-06-30
sel first root pan ror strong ext 補充 div
orderdDict是對字典類型的補充,他記住了字典元素添加的順序
例:
import collections dic = collections.OrderedDict() dic[‘k1‘] = ‘v1‘ dic[‘k2‘] = ‘v2‘ dic[‘k3‘] = ‘v3‘ print(dic)
得:
OrderedDict([(‘k1‘, ‘v1‘), (‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘)])
把數據拿到最後
def move_to_end(self, key, last=True): ‘‘‘Move an existing element to the end (or beginning if last==False). Raises KeyError if the element does not exist. When last=True, acts like a fast version of self[key]=self.pop(key).‘‘‘ link = self.__map[key] link_prev = link.prev link_next = link.next soft_link = link_next.prev link_prev.next = link_next link_next.prev = link_prev root = self.__root if last: last = root.prev link.prev = last link.next= root root.prev = soft_link last.next = link else: first = root.next link.prev = root link.next = first first.prev = soft_link root.next = link
例:
import collections dic = collections.OrderedDict() dic[‘k1‘] = ‘v1‘ dic[‘k2‘] = ‘v2‘ dic[‘k3‘] = ‘v3‘ print(dic) dic.move_to_end(‘k1‘) print(dic)
得:
OrderedDict([(‘k1‘, ‘v1‘), (‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘)])
OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k1‘, ‘v1‘)])
有序字典(orderedDict)