【问题标题】:Interchange values and keys in OrderedDict Python在 OrderedDict Python 中交换值和键
【发布时间】:2014-03-12 01:41:30
【问题描述】:

这是我的 OrderedDict

o=OrderedDict([('xmllist', 123), ('A', 124), ('B', 125), ('C', 126), ('D', 127)])

我怎样才能将它的键和值交换为,

o=OrderedDict([('A', 123), ('B', 124), ('C', 125), ('D', 126)])

【问题讨论】:

标签: python python-2.7 ordereddictionary


【解决方案1】:

使用zipitertools.islice

>>> from collections import OrderedDict
>>> import itertools
>>>
>>> o = OrderedDict([('xmllist', 123), ('A', 124), ('B', 125), ('C', 126), ('D', 127)])
>>> OrderedDict((key1, o[key2]) for key1, key2 in zip(itertools.islice(o, 1, None), o))
OrderedDict([('A', 123), ('B', 124), ('C', 125), ('D', 126)])

映射:o['A'] = o['xmllist']o['B'] = o['A']o['C'] = o['B']、...

【讨论】:

  • >>> o = OrderedDict([('xmllist', 123), ('A', 124), ('B', 125), ... ('C', 126) , ('D', 127)]) >>> del o['xmllist'] >>> o OrderedDict([('A', 124), ('B', 125), ('C', 126) , ('D', 127)]) 这就是我想要的,但想让值像 , o=OrderedDict([('A', 123), ('B', 124), ('C', 125 ), ('D', 126)])
  • 不,不想从每个值中减去1,这些可能不会总是排序!
猜你喜欢
  • 2015-01-25
  • 1970-01-01
  • 2021-07-08
  • 2020-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
  • 2015-02-27
相关资源
最近更新 更多