为啥当我打印字典的键时,它前面有 dict_keys ? [复制]

Posted

技术标签:

【中文标题】为啥当我打印字典的键时,它前面有 dict_keys ? [复制]【英文标题】:Why is it that when I print a dictionary's keys there is dict_keys in front of it? [duplicate]为什么当我打印字典的键时,它前面有 dict_keys ? [复制] 【发布时间】:2017-12-28 10:13:13 【问题描述】:

当我这样做时:

d = 'x': 1, 'y': 2, 'z': 'randy'

print(d.keys())

结果是:

dict_keys(['x', 'y', 'z'])

为什么会有dict_keys?有没有办法摆脱它?

【问题讨论】:

print(list(d.keys())print(" ".join(str(key) for key in d.keys())),取决于您想要的输出格式。 另请参阅***.com/questions/7296716/…,了解方法和原因。 简短的回答是:因为它是一个 dict_keys 对象。 【参考方案1】:

将其转换为列表。

>>> print(list(d.keys()))
['z', 'x', 'y']

【讨论】:

我的眼睛欺骗了我!我想我刚刚看到 Ignacio 建议 list(d.keys())!? @JonClements:它比list(d) 更明确,尽管两者的结果相同。

以上是关于为啥当我打印字典的键时,它前面有 dict_keys ? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

当我在循环中添加到字典时有新键时创建一个新列表

更改字典键时出错

当多个值共享同一个键时如何从字典中打印项目

当计算机在我的代码中要求时我没有输入数组中存在的键时,如何打印“数组中不存在键(元素)”

NSMutableDictionary 按顺序添加对象问题

将字典列表转换为 Pandas 数据框