在 Python 2.7 中,我可以将字典 keys 、 values 或 items 作为列表:
>>> newdict = {1:0, 2:0, 3:0} >>> newdict.keys() [1, 2, 3]
现在,在 _Python >= 3.3_中,我得到如下信息:
>>> newdict.keys() dict_keys([1, 2, 3])
所以,我必须这样做才能得到一个列表:
newlist = list() for i in newdict.keys(): newlist.append(i)
我想知道,有没有更好的方法在 Python 3 中返回一个列表?
试试list(newdict.keys())。
list(newdict.keys())
这会将dict_keys对象转换为列表。
dict_keys
另一方面,你应该问问自己这是否重要。Pythonic 的编码方式是假设鸭子类型( 如果它看起来像鸭子并且它像鸭子一样嘎嘎叫,那就是鸭子 )。对于大多数目的,该dict_keys对象将充当列表。例如:
for key in newdict.keys(): print(key)
显然,插入运算符可能不起作用,但这对于字典键列表来说没有多大意义。