[Python3 填坑] 012 字典的遍历在 Python2 与 Python3 中区别

  • 挖坑时间: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 相似的方法
Python2Python3
iteritems()items()
iterkeys()keys()
itervalues()values()



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

转载于:https://www.cnblogs.com/yorkyu/p/10335641.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值