• python iter,迭代器&dict,字典详解


    可以直接作用于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() 不占用额外的内存

     

  • 相关阅读:
    new Vue() 和 export default {}及Vue页面组件和标签组件说明与比较(非常重要)
    权限管理开源框架(非常重要)
    java 异常2
    java 异常
    java 内部类3(匿名内部类)
    java 内部类2(成员内部类)
    java 内部类1
    java 多态
    java 接口
    java abstract
  • 原文地址:https://www.cnblogs.com/GH-D/p/8087909.html
Copyright © 2020-2023  润新知