dict里面的itervalues() 方法比 values()
2015-03-23 09:06
190 查看
1. values() 方法实际上把一个 dict 转换成了包含 value 的list。
2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。
如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。
2. 但是 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。
3. 打印 itervalues() 发现它返回一个 <dictionary-valueiterator> 对象,这说明在Python中,for 循环可作用的迭代对象远不止 list,tuple,str,unicode,dict等,任何可迭代对象都可以作用于for循环,而内部如何迭代我们通常并不用关心。
如果一个对象说自己可迭代,那我们就直接用 for 循环去迭代它,可见,迭代是一种抽象的数据操作,它不对迭代对象内部的数据有任何要求。
相关文章推荐
- python 关于格式转换的处理方法dict.itervalues() + dict.format()
- Python的dict类型迭代性能的优化(items()与iteritems()、keys()与iterkeys()、values()与itervalues()的区别)
- j2me里面读取txt文本的方法(支持中文)
- COM+组件的私有方法里面不能用Setcomplete,千万不要以为写了无所谓
- Dev里面DataGid控件使用方法之一
- PictureBox或Panel里面显示form的方法
- 在Linux fedora 5上安装本地dictd server的方法
- 局域网中让所有电脑都到特定机器里面升级瑞星的方法
- Dev里面DataGid控件使用方法之一
- 在Linux fedora 5上安装本地dictd server的方法
- HTML里面include其他文件的方法
- 删除无法删除的dll文件方法(转至黑基)(XP用的少所以里面的东西我没怎么研究)
- SQL里面清除日志文件的方法
- 如果静态方法里面没有存取静态字段的话, 就没有并发的线程安全的问题...(这句话对吗?)
- mfc控件在ie里面显示不正确的解决方法
- 在asp.net里面加密密码的简单方法
- 在sql里面取得随机记录的方法
- 发现spring SimpleFormController类里面一个很有意思的方法
- asp.net中javascript里面调用cs文件里的方法
- 内核里面屏蔽信号的方法