1. print( 坑的信息 )

  • 挖坑时间:2019/01/19
  • 明细
坑的编码 内容
Py016-1 字典的遍历在 Python2 与 Python3 中区别

2. 开始填坑

2.1 Python2 中字典的遍历

# 例 1
# Python2 中字典的遍历 dict1 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} for k in dict1:
print "dict1[%s] =" % k, dict1[k]

>>>

dict1[a] = apple
dict1[b] = banana
dict1[c] = cherry
dict1[d] = durian
# 例 2
# Python2 字典对 items() 的使用
# iterms() 把字典中每对 key 和 value 都组成一个元组,并把这些元组存放到列表中返回 dict2 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} print dict2.items()

>>>

[('a', 'apple'), ('c', 'cherry'), ('b', 'banana'), ('d', 'durian')]
# 例 3
# Python2 使用字典的 items() 方法实现字典的遍历 dict3 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} for (k, v) in dict3.items(): # k, v 不加括号也行,注意输出的顺序
print "dict3[%s] =" % k, v

>>>

dict3[a] = apple
dict3[b] = banana
dict3[d] = durian
dict3[c] = cherry
  • Python2 使用 iteritems()、iterkeys()、itervalues() 实现字典的遍历
  • 注意输出的顺序
# 例 4.1
# Python2 使用 iteritems() 实现对字典的遍历 dict4 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} print dict4.iteritems() # 返回字典的遍历器对象

>>>

<dictionary-itemiterator object at 0x00A50B60>
# 例 4.2
# Python2 使用 iteritems() 实现对字典的遍历(与例 3 相似) for k, v in dict4.iteritems():
print "dict4[%s] =" % k, v # k、v 与遍历器对象指定的元组 (key, value) 对应

>>>

dict4[a] = apple
dict4[b] = banana
dict4[d] = durian
dict4[c] = cherry
# 例 4.3
# Python2 使用 iterkeys() 与 itervalues() 实现对字典的遍历 for (k, v) in zip(dict4.iterkeys(), dict4.itervalues()):
print "* dict4[%s] =" % k, v # k 与 iterkeys() 指向的 key 列表中的值对应
# v 与 itervalues() 指向的 value 列表中的值对应

>>>

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

2.2 Python3 中字典的遍历

# 例 5
# Python3 中字典的遍历 dict5 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} for k in dict5: # 对比 例 1
print("dict5[{0}] = {1}".format(k, dict5[k]))

>>>

dict5[a] = apple
dict5[b] = banana
dict5[c] = cherry
dict5[d] = durian
  • Python3 使用 items()、keys()、values() 实现字典的遍历
# 例 6.1
# Python3 使用 items() 实现对字典的遍历 dict6 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} print(dict6.items()) # 对比例 2、例 4.1

>>>

dict_items([('a', 'apple'), ('b', 'banana'), ('c', 'cherry'), ('d', 'durian')])
# 例 6.2
# Python3 使用 items() 实现对字典的遍历 dict6 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} for k, v in dict6.items(): # 对比例 4.2
print("dict6[{0}] = {1}".format(k, v))

>>>

dict6[a] = apple
dict6[b] = banana
dict6[c] = cherry
dict6[d] = durian
# 例 6.3
# Python3 使用 keys() 与 values() 实现对字典的遍历 dict6 = {"a":"apple", "b":"banana", "c":"cherry", "d":"durian"} for k in dict6.keys(): # 对比例 4.3,不需要 zip()
print("dict6[{0}] = {1}".format(k, dict6[k]))

>>>

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

2.3 结论

  • Python2/3 中的字典都是无序的

    • Python2 是随机输出字典中的键值对的,详见例 3、例 4.2、例 4.3
    • Python3 会按一定顺序输出字典中的键值对
  • print 在 Python2 与 Python3 中的性质与使用方式都不同,遍历时受其影响
  • 下表是 Python2 与 Python3 相似的方法
Python2 Python3
iteritems() items()
iterkeys() keys()
itervalues() values()

倘若阁下发现在下错误之处,还请不吝赐教!谢谢!

[Python3 填坑] 012 字典的遍历在 Python2 与 Python3 中区别的更多相关文章

  1. [Python3 填坑] 006 “杠零”,空字符的使用

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 \0 是空字符,输出时看不到它,但它占 1 个字符的长度 2.2 \0 "遇八进制失效" 2.3 \0 与 '' 不 ...

  2. [Python3 填坑] 004 关于八进制

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 问题的解决 2.2.1 先说结论 2.2.2 八进制的用途 2.2.3 少废话,上例子 1. print( 坑的信息 ...

  3. [Python3 填坑] 009 深拷贝与浅拷贝

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 Python3.7 官方文档 2.2 赋值.切片与 copy() 分析 分析 分析 分析 2.3 copy 模块 分析 分析 2.4 小 ...

  4. [Python3 填坑] 001 格式化符号 & 格式化操作符的辅助指令

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 Python 格式化符号表 举例说明 (1) %c (2) %s 与 %d (3) %o (4) %x (5) %f (6) %e (7 ...

  5. [Python3 填坑] 005 如何“响铃”

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 问题的解决 1. print( 坑的信息 ) 挖坑时间:2019/01/08 明细 坑的编码 内容 Py004-2 ...

  6. [Python3 填坑] 003 关键字?保留字?预留字?

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 网上搜索 2.3 结论 2.4 后记 1. print( 坑的信息 ) 挖坑时间:2019/01/04 明细 坑的编 ...

  7. [Python3 填坑] 018 组装类的几个例子

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 MetaClass 举例 2.2 type 举例 2.3 MetaClass 举例 1. print( 坑的信息 ) 挖坑时间:2019 ...

  8. [Python3 填坑] 017 实例方法、静态方法、类方法的区别

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 先上例子 2.2 分析 1. print( 坑的信息 ) 挖坑时间:2019/04/07 明细 坑的编码 内容 Py024-1 实例方法 ...

  9. [Python3 填坑] 016 对 __getattr__ 和 __setattr__ 举例

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 __getattr__ 2.2 __setattr__ 1. print( 坑的信息 ) 挖坑时间:2019/04/07 明细 坑的编码 ...

随机推荐

  1. Java内存模型(JMM)的可见性

    JMM(Java Memory Model)内存模型之可见性 JMM是Java内存模型的缩写,本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字 ...

  2. LeetCode--075--颜色分类(python)

    给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...

  3. IIS部署复盘(杂记)

    首先,230是网站服务器,231主要放到是数据库:所以在230(部署的服务器)上部署不需要部署IIS和Oracle数据库, 231呢?231是数据库服务器:百度一下数据库服务器是什么? 文档第五步: ...

  4. HTML中的marquee标签实现滚动效果

    一.标签<marquee>简介 通过开始标签<marquee>和结束标签</marquee>的共同配合而实现滚动效果,<marquee>滚动的内容< ...

  5. 基于函数计算 + TensorFlow 的 Serverless AI 推理

    前言概述 本文介绍了使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖.一键部署.本地调试以及压测评估, 全方位展现函数计算的开发敏捷特性.自动弹性伸缩 ...

  6. getCurrentPages

    解释:getCurrentPages 全局函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面. 示例: // index.jsPage({ onShow( ...

  7. signup图片上传预览经常总结

    html <html> <head> <meta charset="utf-8" /> <meta http-equiv="X- ...

  8. 一、Nginx常见问题

    1.相同server_name多个虚拟主机优先级访问 最先读取哪个配置文件,就访问那个的网页 2.location匹配优先级 相同location,会被后面的覆盖 匹配优先级更高的,找后面的 =    ...

  9. CityMaker SDK与三维GIS城市

    https://wenku.baidu.com/view/abc2a32f01f69e3142329426.html https://blog.csdn.net/weixin_38476447/art ...

  10. 我的"开发工具箱"

    我使用的IDEA插件 Free Mybatis plugin Alibaba Java Coding Guidelines 我的IDEA开发配置 配置Maven Runner -DarchetypeC ...