Python 3 list(dictionary.keys()) 引发错误。我究竟做错了啥?

Posted

技术标签:

【中文标题】Python 3 list(dictionary.keys()) 引发错误。我究竟做错了啥?【英文标题】:Python 3 list(dictionary.keys()) raises error. What am I doing wrong?Python 3 list(dictionary.keys()) 引发错误。我究竟做错了什么? 【发布时间】:2014-05-27 19:51:25 【问题描述】:

字典:

error['extras'] = 'expiration_month': 'Invalid field [expiration_month] - Missing field "expiration_month"'

代码:

list(error['extras'].keys())

结果:

*** Error in argument: "(error['extras'].keys())"

如果相关,我将在由 pdb.set_trace() 暂停的 django 进程中运行此代码。

【问题讨论】:

这看起来像一个嵌套字典。是有意的吗? 在 Python 3 上运行良好。您使用的是哪个版本的 Python/Django? 在 Python 2.7.6 上运行良好。错误是如何声明的?字典和调用list()之间是否还有其他代码? @merlin2011 是的,它应该是一个嵌套字典。我对 error['extras'] 处的键特别感兴趣。 【参考方案1】:

我认为问题在于list is a pdb debugger command。文档说明如下:

调试器无法识别的命令被假定为 Python 语句并在程序的上下文中执行 调试。 Python 语句也可以以感叹号为前缀 点(!)。

所以你可以尝试像这样为list 加上前缀:

!list(error['extras'].keys())

【讨论】:

@user220419 我很高兴它成功了!这是一个很难弄清楚的错误。

以上是关于Python 3 list(dictionary.keys()) 引发错误。我究竟做错了啥?的主要内容,如果未能解决你的问题,请参考以下文章

python数据结构list,string,tuple,set,dictionary常用操作

python_list,tuple,dictionary

Python--数据类型之二 列表(List)元组(Tuple)字典(Dictionary)

python中的字符串,列表(list),元组,字典(Dictionary)

在Python中,何时使用Dictionary,List或Set?

Python列表(list)、元祖(tuple)、集合(set),和字典(dictionary)区别和联系