zoukankan      html  css  js  c++  java
  • 12 字典的遍历在 Python2 与 Python3 中区别

    Python2 中字典的遍历

    例1

    d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
    
    for k in d:
        print "d[%s] =" % k, d[k]
    

    >>>

    d[a] = apple
    d[b] = banana
    d[c] = cherry
    d[d] = durian
    

    例2

    • items() 会把字典中的键值对组成元组,存放到列表中返回
    >>> d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
    >>> print d.items()
    [('a', 'apple'), ('c', 'cherry'), ('b', 'banana'), ('d', 'durian')]
    >>> 
    

    例3

    d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
    
    for k, v in d.items():
        print "d[%s] = %s" % (k, v)
    

    >>>

    d[a] = apple
    d[b] = banana
    d[d] = durian
    d[c] = cherry
    

    例4

    d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
    print d.iteritems()  # 返回字典的遍历器对象
    
    for k, v in d.iteritems():
        print "d[%s] = %s" % (k, v)
    
    for k, v in zip(d.iterkeys(), d.itervalues()):
        print "* d[%s] = %s" % (k, v)
    

    >>>

    <dictionary-itemiterator object at 0x00A50B60>
    d[a] = apple
    d[b] = banana
    d[d] = durian
    d[c] = cherry
    * d[a] = apple
    * d[b] = banana
    * d[d] = durian
    * d[c] = cherry
    

    Python3 中字典的遍历

    例1

    d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
    
    for k in d:
        print("d[{0}] = {1}".format(k, d[k]))
    

    >>>

    d[a] = apple
    d[b] = banana
    d[c] = cherry
    d[d] = durian
    

    例2

    >>> d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
    >>> print(d.items())
    dict_items([('a', 'apple'), ('b', 'banana'), ('c', 'cherry'), ('d', 'durian')])
    >>> 
    

    例3

    d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
    
    for k, v in d.items():
        print("d[{}] = {}".format(k, v))
    
    for k in d.keys():
        print("* d[{}] = {}".format(k, d[k]))
    
    for v in d.values():
        print(v)
    

    >>>

    d[a] = apple
    d[b] = banana
    d[c] = cherry
    d[d] = durian
    * d[a] = apple
    * d[b] = banana
    * d[c] = cherry
    * d[d] = durian
    apple
    banana
    cherry
    durian
    

    结论

    1. Python2/3 中的字典都是无序的,Python3 输出字典中的键值对时看起来有一定顺序,特别是数据量小时
    2. Python2 使用 iteritems(), iterkeys(), itervalues()
    3. Python3 使用 items(), keys(), values()
    Python2 Python3
    items() items()
    iteritems() items()
    iterkeys() keys()
    itervalues() values()
  • 相关阅读:
    Spoken English Practice(If you fail to do as I say, I will take you suffer.)
    Powershell Exchange Message Per Day Sent and Reveive
    Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)
    Oracle-Rman(物理备份)
    OracleUNDO
    Oracle重做日志REDO
    Oracle存储——逻辑结构
    Oracle 数据库的组成(instance+database)
    Spoken English Practice(I won't succumb to you, not ever again)
    Grammar Rules
  • 原文地址:https://www.cnblogs.com/yorkyu/p/10335641.html
Copyright © 2011-2022 走看看