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()
  • 相关阅读:
    Service与Activity通信 回调方式***
    WeakReference 在android中的应用
    解决用官方容器启动redmine无法插入中文字符的问题
    Python 使用scapy 时报:ImportError: cannot import name 'NPCAP_PATH' 解决
    python3 图片文字识别
    python3 读取dbf文件报错 UnicodeDecodeError: 'gbk' codec can't decode
    RbbitMQ消息队列及python实现
    windows10创建ftp服务器
    什么是ip代理
    Python3爬虫实例 代理的使用
  • 原文地址:https://www.cnblogs.com/yorkyu/p/10335641.html
Copyright © 2011-2022 走看看