【发布时间】:2013-11-18 12:30:13
【问题描述】:
我正在使用 python 字典内置方法,发现它们在 2.7 和 3.3 版本的 Python 上提供输出的行为有点不同。
这是一个例子:
让我的字典如下:
d = {'A': [1, 2, 3], 'B': "Hello", 'C': ["this is good"]}
>>> d
{'B': 'Hello', 'C': ['this is good'], 'A': [1, 2, 3]}
现在,当我在 3.3 中使用 keys() 或 items() 或 values() 方法时,它会给我以下输出:
>>> print(d.keys())
dict_keys(['B', 'C', 'A'])
>>> print(d.values())
dict_values(['Hello', ['this is good'], [1, 2, 3]])
>>> print(d.items())
dict_items([('B', 'Hello'), ('C', ['this is good']), ('A', [1, 2, 3])])
虽然理想情况下它应该给我下面 2.7 版本给出的键或值或项目的列表:
>>> print(d.keys())
['A', 'C', 'B']
>>> print(d.values())
[[1, 2, 3], ['this is good'], 'Hello']
>>> print(d.items())
[('A', [1, 2, 3]), ('C', ['this is good']), ('B', 'Hello')]
我在 3.3 的 dict.keys() 或 dict.values 的帮助中看到它现在说它返回一组键。不像 2.7 上的键列表
我的问题是,由于它还在输出中附加了 dict_keys 或 dict_values 或 dict_items 关键字,因此我无法使用键或值或项的列表将其存储在 3.3 中的某个变量中,这与2.7
谁能帮忙解决一下为什么会这样?
谢谢
【问题讨论】:
-
一个叫
2.x另一个叫3.x不是没有道理的:)
标签: python python-2.7 python-3.x dictionary