尝试将dict_values转换为ipdb中的列表时出错

Ugu*_*gur 4 python python-3.x

在Python 3.5中,我试图从字典中获取值,如下所示:

data_dict.values()
# result: dict_values(['117487614', '117487614', '117487614'])
Run Code Online (Sandbox Code Playgroud)

现在,如果我尝试将其转换为列表

list(data_dict.values())
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

*** Error in argument: '(data_dict.values())'
Run Code Online (Sandbox Code Playgroud)

这些表达式正在里面执行ipdb:

ipdb> patterns_and_values
{'value_{}.mainContent_root_pwdPin': '85785226', 
'value_{}.mainContent_root_txtBenutzerkennung': '85785226', 
'value_{}.mainContent_root_txtRZBK': '85785226'}

ipdb> patterns_and_values.values()
dict_values(['85785226', '85785226', '85785226'])

ipdb> list(patterns_and_values.values())
*** Error in argument: '(patterns_and_values.values())'
Run Code Online (Sandbox Code Playgroud)

Jim*_*ard 13

你正在使用我能理解的ipdb 命令 list.如果ipdb遵循此定义的接口,pdb 则不会list()像您期望的那样调用该函数.

退出ipdb调试器,如果得到这个正常工作,或再次ipdb使用相同的命令ipdb,使用p list(patterns_and_values.values())以获得调试器内计算的表达式.

  • `!list(data_dict.values())` 是另一种选择 (3认同)