我正在尝试在unittest中使用defaultdict
。
我这样声明。在
dic_response = defaultdict(list)
dic_response['d']['DisplayStatusList'] = [{
'DisplayStatusID': 26,
'Name': 'To sell'
}]
它失败了
Traceback (most recent call last): File "/home/maazza/PycharmProjects/django_test/app_tester/tests.py", line 422, in test_save_display_status 'Name': 'To sell', TypeError: list indices must be integers, not str
我不知道怎么了。在
您创建了一个字典,其中每个键都有一个列表作为其值,但是您尝试使用字符串索引访问其中一个列表项。。。在
看来你想创建默认词典。。。在
使用此方法时,应该声明
defaultdict(dict)
。现在的情况是您正在访问dic_response['d']
,这将创建一个新的列表(它应该是dict,但是您要求defaultdict(list)
所以您得到了一个列表)。然后这个新列表被用作new_list['DisplayStatusList']
,这将产生您看到的异常。在相关问题 更多 >
编程相关推荐