Python 如何检查dict密钥?
我是第一次做单元测试,我需要检查一个成功键是否与另一个相同,如何在不检查整个字典的情况下检查一个成功键? 我只需要检查成功的关键,而不是所有其他的 我需要使用单元测试模块使用assert来完成它Python 如何检查dict密钥?,python,python-3.x,Python,Python 3.x,我是第一次做单元测试,我需要检查一个成功键是否与另一个相同,如何在不检查整个字典的情况下检查一个成功键? 我只需要检查成功的关键,而不是所有其他的 我需要使用单元测试模块使用assert来完成它 dict 1 = {'success': RC.input_validation, 'return_msg': return_msg, 'debug_data': debug_data} dict 2 = {'success': RC.success,
dict 1 = {'success': RC.input_validation,
'return_msg': return_msg,
'debug_data': debug_data}
dict 2 = {'success': RC.success,
'return_msg': return_msg,
'debug_data': debug_data}
class MyTestCase(unittest.TestCase):
def test_something(self):
call_result = {}
debug_data = []
test = SetShape()
call_result = SetShape.setShape(test, shapechoosing=1)
debug_data.append(call_result)
print("10")
if __name__ == '__main__':
unittest.main()
访问每个字典中的
'success'
键的值,并检查它们是否相等
if dict1['success'] == dict2['success']:
print("they're the same")
这就是你要找的吗
if dict_1.get('success') == dict_2.get('success'):
# your body of code
希望能有帮助 这应该适合你
dict_1 = {'success': "RC.input_validation",
'return_msg': "return_msg",
'debug_data': "debug_data"}
dict_2 = {'success': "RC.success",
'return_msg': "return_msg",
'debug_data': "debug_data"}
dict_1.get('success')==dict_2.get('success')
访问两个键的值并将其与断言方法进行比较?但是,我不想比较这两个字典,我只想比较这两个键,那么就这样做吧。确实不清楚问题出在哪里。这可能有效,但并不理想,因为如果dict缺少
'success'
键,它不会引发错误。哦,在这种情况下,将这个if条件包装在另一个if条件中应该可以实现这样的技巧,外部if应该像dict_1中的if'success'和dict_2中的'success':
,这可能会再次奏效,但可能更简单的是,不必处理这种可能性,只需错误就可以停止执行。这就是为什么我建议简单地建立索引:dict_1['success']==dict_2['success']
。您对如何使用断言有什么想法吗?这可能会起作用,但并不理想,因为如果dict缺少success'
键,它不会引发错误。但这不是您的问题的一部分。请在定义问题时更加小心。我不是OP,只是说OP看起来像个新手。如果条目['success']==RC,我会出现这个错误。输入\验证:类型错误:列表索引必须是整数或切片,而不是strI我知道我更改了你的代码,但他只是说它不能是一个str@LucasFernandes然后是一张单子,不是字典。你们知道如何使用断言吗?assert dict1['success']==dict2['success']