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

data_dict.values()
# result: dict_values(['117487614', '117487614', '117487614'])

现在,如果我尝试将其转换为列表
list(data_dict.values())

我收到一个错误:
*** Error in argument: '(data_dict.values())'

这些表达式正在 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())'

最佳答案

据我所知,您正在使用 ipdb 命令 list 。如果 ipdb 遵循 pdb this doesn't invoke the list() function as you'd expect 定义的接口(interface)。

退出 ipdb 调试器以使其正常工作,或者,如果 ipdb 使用与 ipdb 相同的命令,请再次使用 p list(patterns_and_values.values()) 以获得在调试器中计算的表达式。

关于python - 尝试将 dict_values 转换为 ipdb 中的列表时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42924864/

10-15 12:51