博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python iter,迭代器&dict,字典详解
阅读量:4588 次
发布时间:2019-06-09

本文共 1212 字,大约阅读时间需要 4 分钟。

可以直接作用于for循环的对象统称为可迭代对象(Iterable)。

可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator)。

所有的Iterable均可以通过内置函数iter()来转变为Iterator。

迭代器为类序列对象提供了一个类序列的接口。python的迭代无缝地支持序列对象,而且它还允许程序员迭代非序列类型,包括用户定义的对象。迭代器用起来很灵巧,你可以迭代不是序列但表现处序列行为的对象,例如字典的键、一个文件的行,等等。迭代器的作用如下:

>>> i=iter('abcd')>>> print i.next()a>>> print i.next()b>>>print i.next()c

  

s = {'one':1,'two':2,'three':3}print s{'three': 3, 'two': 2, 'one': 1}>>> m = iter(s)>>> print m.next()three>>> print m.next()two>>> print m.next()one

dict {'key':value,'key':value}

查询可以用get方法 ,也可以直接通过key查询,不过这样如果不存在这个key将会报错,而get会给出None 

可以直接添加或者更改dict,dict('key')=value

可使用pop方法 dict.pop(key[,default]),通过key值删除dict内元素,并返回被删除key对应的value。若key不存在,且default值未设置,则返回KeyError异常

可使用clear方法dict.clear()清空dict

values() / itervalues() 方法:返回dict 的value值,

 itervalues() 方法替代 values() 方法,迭代效果完全一样。而 itervalues() 方法不会转换,它会在迭代过程中依次从 dict 中取出 value,

所以 itervalues() 方法比 values() 方法节省了生成 list 所需的内存。

items()方法

>>> s = {'one':1,'two':2,'three':3}>>> d = items(s)>>> d=s.items()>>> print d[('three', 3), ('two', 2), ('one', 1)]

和 values() 有一个 itervalues() 类似, items() 也有一个对应的 iteritems()

iteritems() 不把dict转换成list,而是在迭代过程中不断给出 tuple,所以, iteritems() 不占用额外的内存

 

 

转载于:https://www.cnblogs.com/GH-D/p/8087909.html

你可能感兴趣的文章
.Net持续集成 —— Jenkins+Git+WebDeploy
查看>>
01_Numpy基本使用
查看>>
checkbox和文字对齐
查看>>
JConsole远程连接配置 服务器监控工具
查看>>
了解HTTP协议栈(实践篇)
查看>>
loj10035. 「一本通 2.1 练习 1」Power Strings
查看>>
%s的用法
查看>>
调用底层不能直接访问的类和方法
查看>>
清理缓存的方法 #DF
查看>>
JAVA array,map 转 json 字符串
查看>>
2017-12-27练习
查看>>
NET设计规范(二) 命名规范
查看>>
VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2
查看>>
SSL延迟
查看>>
android新手关于左右滑动的问题,布局把<android.support.v4.view.ViewPager/><ImageView/> 放在上面就不行了。...
查看>>
深入理解DIP、IoC、DI以及IoC容器
查看>>
赋值文件
查看>>
Vue 数组 字典 template v-for 的使用
查看>>
蓝牙模块选择经验谈
查看>>
java中==和equals
查看>>