小编典典

如何在 Python 中将字典键作为列表返回?

all

Python 2.7 中,我可以将字典 keysvaluesitems 作为列表:

>>> 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 中返回一个列表?


阅读 149

收藏
2022-02-28

共1个答案

小编典典

试试list(newdict.keys())

这会将dict_keys对象转换为列表。

另一方面,你应该问问自己这是否重要。Pythonic 的编码方式是假设鸭子类型( 如果它看起来像鸭子并且它像鸭子一样嘎嘎叫,那就是鸭子
)。对于大多数目的,该dict_keys对象将充当列表。例如:

for key in newdict.keys():
  print(key)

显然,插入运算符可能不起作用,但这对于字典键列表来说没有多大意义。

2022-02-28