本帖最后由 团子良 于 2022-8-26 15:28 编辑
python2与python3的语法规则有很大不同,最近在使用字典操作的语法时,发现两个版本对于字典操作的输出是有区别的。通过python在线编译网站测试:https://c.runoob.com/compile/6/1、通过items返回包含字典项列表的区别
代码如下- [align=left]tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}[/align]
- [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中使用下面命令- print(tinydict.items()[0])
复制代码
运行结果为:('Age', 7)如果通过python3对第一个字典进行读取,需要先将元组转换为列表,如下命令,输出结果为:('Name', 'Zara')a=list(tinydict.items())#元组转换为列表
print(a[0])
2、通过keys返回键值的区别
代码如下- <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中使用下面命令- print(tinydict.keys()[0])
复制代码 运行结果为:Age通过python3对第一个字典进行读取,需要先将元组转换为列表,如下命令,输出结果为:Name- <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>
复制代码 通过上述方法可以对字典中的键值进行读取。
|
|