Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查dict密钥?_Python_Python 3.x - Fatal编程技术网

Python 如何检查dict密钥?

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,

我是第一次做单元测试,我需要检查一个成功键是否与另一个相同,如何在不检查整个字典的情况下检查一个成功键? 我只需要检查成功的关键,而不是所有其他的 我需要使用单元测试模块使用assert来完成它

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']