• 回答数

    0

  • 浏览数

    667

  • 收藏数

    0

作者:团子良 发表于 2022-8-26 15:25:22
跳转到指定楼层
本帖最后由 团子良 于 2022-8-26 15:28 编辑

python2与python3的语法规则有很大不同,最近在使用字典操作的语法时,发现两个版本对于字典操作的输出是有区别的。通过python在线编译网站测试:https://c.runoob.com/compile/6/1、通过items返回包含字典项列表的区别
代码如下
  1. [align=left]tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}[/align]
  2. [align=left]print(tinydict.items())[/align]
复制代码
Python2的运行结果为:
[('Age', 7), ('Name', 'Zara'), ('Class', 'First')]Python3的运行结果为:dict_items([('Name', 'Zara'), ('Age', 7), ('Class', 'First')])有结果可知,python2输出的结果为列表,而python3输出的为元组,并且python2改变了原来的顺序。python2可以对列表结果进行操作读取,例如,python2中使用下面命令
  1. print(tinydict.items()[0])
复制代码

运行结果为:('Age', 7)如果通过python3对第一个字典进行读取,需要先将元组转换为列表,如下命令,输出结果为:('Name', 'Zara')
a=list(tinydict.items())#元组转换为列表

print(a[0])


2、通过keys返回键值的区别
代码如下
  1. <div style="text-align: left;"><span style="text-indent: 2em;">tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}</span></div><div style="text-align: left;"><span style="text-indent: 2em;">print(tinydict.keys())</span></div>
复制代码
Python2的运行结果为:
['Age', 'Name', 'Class']Python3的运行结果为:dict_keys(['Name', 'Age', 'Class'])同样的,python2输出的结果为列表,而python3输出的为元组,并且python2改变了原来的顺序。python2可以对列表结果进行操作读取,例如,python2中使用下面命令
  1. print(tinydict.keys()[0])
复制代码
运行结果为:Age通过python3对第一个字典进行读取,需要先将元组转换为列表,如下命令,输出结果为:Name
  1. <div style="text-align: left;"><span style="text-indent: 2em;">a=list(tinydict.keys())#元组转换为列表</span></div><div style="text-align: left;"><span style="text-indent: 2em;">print(a[0])</span></div>
复制代码
通过上述方法可以对字典中的键值进行读取。

分享:
回复

使用道具

成为第一个回答人

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册 微信登录