为何在pdb中无法将dict_keys转换为列表?
在pdb中转换dict_keys为列表的正确操作
嘿,我懂你遇到的这个小困惑——在Python解释器里顺顺当当的操作,到pdb里就卡壳了,确实挺闹心的。
先看你给出的示例,你输入到list(newdic...就中断了,大概率是输入没写完?咱们来完整操作一遍,确保每一步都对:
- 先在pdb里创建字典:
(Pdb) newdict = dict() (Pdb) newdict["pig"] = "pink" (Pdb) newdict["finch"] = "yellow"
- 查看字典的keys:
(Pdb) newdict.keys() dict_keys(['pig', 'finch'])
- 现在把dict_keys转成列表,一定要完整输入命令:
(Pdb) list(newdict.keys()) ['pig', 'finch']
如果还是没生效,可能是pdb的版本兼容问题?不过Python 3.6+的pdb应该都支持这个操作。另外,你也可以试试两种替代写法,效果完全一致:
# 列表推导式遍历keys (Pdb) [key for key in newdict.keys()] ['pig', 'finch'] # 更简洁的写法:字典默认遍历自身的keys (Pdb) [key for key in newdict] ['pig', 'finch']
哦对了,还有个小技巧:如果直接执行表达式后看不到输出,试试用pdb的p命令强制打印结果,这种方式更稳妥:
(Pdb) p list(newdict.keys()) ['pig', 'finch']
这样应该就能得到你想要的列表啦!
内容的提问来源于stack exchange,提问作者irritable_phd_syndrome
相关产品推荐
相关产品推荐

