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()
  • 相关阅读:
    C# dynamic class inherit from dynamicobject
    C# while timespan via Datetime and Stopwatch
    neo4j实现疾病知识图谱实战
    omop cdm数据质控
    mimic-omop专病数据生产ETL
    Oracle表空间与数据文件
    Oracle 11g 静默安装过程(Centos7)
    Hbase插件之Phoenix
    contentEditable
    jsx render
  • 原文地址:https://www.cnblogs.com/yorkyu/p/10335641.html
Copyright © 2011-2022 走看看