快乐12中奖表:the5fire的技术博客

彩票开奖查询 www.8a72.cn 关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


不能pickle的OrderedDict.keys()对象(Py2-bt-py3)

作者:the5fire | 标签:       | 发布:2017-06-05 8:49 p.m. | 阅读量: 3465, 2665

一则来自django-redis的报错:TypeError: can't pickle odict_keys objects

迁移到Python3时遇到的一个问题,Py3中的OrderedDict.keys()返回的是一个对象:odict_keys??梢缘亩韵?,但是不支持index操作,和切片操作。并且不能pickle。所以我就遇到这个坑了。不过它多了一个更新keys的功能,可以看最后的参考链接。

代码如下:

# coding:utf-8
from collections import OrderedDict

od = OrderedDict({"a": 1, "b": 2})
print(od.keys(), type(od.keys()))

od_keys = od.keys()
od.update({"c": 'the5fire'})
print(od_keys)

python2.7和Python3.6下分别运行:

?  tmp python2.7 t_py3.py
(['a', 'b'], <type 'list'>)
['a', 'b']
?  tmp python3.6 t_py3.py
odict_keys(['a', 'b']) <class 'odict_keys'>
odict_keys(['a', 'b', 'c'])

参考:

- from www.8a72.cn
----EOF-----

微信公众号:Python程序员杂谈



其他分类:
  • 坐观光巴士 小小代言人带你游广州 2019-04-15
  • 习近平为传统文化“代言” 2019-04-12
  • 这位游客骨骼清奇送你一份小长假游新疆攻略 2019-04-12
  • 5月济南房价走势如何?济南热门楼盘报价一览 ——凤凰网房产济南 2019-04-05
  • 默克尔政权要崩?联盟党闹分裂内政部长威胁“单飞” 2019-04-04
  • 孕妇也要喝奶粉?孕妇奶粉该不该喝要因人而异 2019-03-31
  • 5月份全国首套房贷款利率上涨至5.60% 2019-03-31
  • 新形势下如何做好社区党支部工作 2019-03-27
  • 国际足联成员也就是亚足联成员的中国(大陆)、朝鲜、中华台北、香港、澳门,也可以有蒙古,可联合申办2038年世界杯。其中,中国大陆、朝鲜,算东道主,直接参赛。 2019-03-27
  • 贵州省委常委赵德明任贵阳市委书记(图简历) 2019-03-25
  • 学习贯彻党的十九大精神中央宣讲团宣讲活动综述 2019-03-25
  • 鹿晗全新Remix专辑《Re:Play》发布 首支单曲全球上线鹿晗 专辑 2019-03-21
  • 【奋斗吧2018】风电检修工——荒原上的“听风者” 2019-03-21
  • 世界杯还可以这样看 日媒:中国AI产品抢眼亚洲电子展} 2019-02-27
  • 特朗普下令美国防部组建第六军种“太空军” 2019-02-17
  • 677| 142| 914| 996| 736| 641| 221| 966| 715| 243|