嘗試驗證每個數組項是在詞典的Python:驗證每個數組項是在詞典中
的陣列的陣列verify_obj = {5492: [2, 3]}
sc = [{'key': 2, 'key_2': 4}, {'key': 4, 'key_2': 5}, {'key': 5, 'key_2': 7}, {'key': 6, 'key_2': 10}]
for k, v in verify_obj.items():
if all(i for i in v) != any(j['key1'] for j in sc):
print('test fail')
期待在控制檯test fail
印刷該陣列[2, 3]
的3
不在sc
對象,但消息未打印。
怎麼回事?
變化'verify_obj'到'{5492:[2,4]}'和結果也將是'測試failed',但期望不失敗,由於'2'和'4'是在'SC '對象 –
正確,嘗試打印'v'和列表理解,看看會發生什麼。應該有足夠的線索來解釋發生了什麼。 – 00sdf0
通過你的答案'測試fail'將始終打印由於'key'不是一個數組,而是一個整數值,我試圖檢查每一個數組值,即'2','3'在'SC '陣列,只是'key'在'sc'具有價值'2'和'sc'具有價值''3' key','sc'可以有很多'key'值 –