Python 如何将口述目录与词典进行比较?
希望将字典与集合列表进行比较,并使用给定的键供用户使用。很难与列表进行比较 例如:Python 如何将口述目录与词典进行比较?,python,list,dictionary,data-structures,compare,Python,List,Dictionary,Data Structures,Compare,希望将字典与集合列表进行比较,并使用给定的键供用户使用。很难与列表进行比较 例如: data = {'A': [{'Test1', 'abc'}, {'abc', 'def', 'Test2'}, {'abc', 'ghi', 'Test3'}, {'Test4', 'abc, xyz'}, {'abc', 'def','Test5'}], 'B': [{'
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
given = 'A'
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
for items in data:
for given in data.keys():
if testCase in data:
print (testCase.keys() + ": Okay")
else:
print (testCase.keys() + ": Invalid")
我得到了答案:A我想把dict中的所有测试与列表进行比较
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
预期结果:
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
given = 'A'
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
for items in data:
for given in data.keys():
if testCase in data:
print (testCase.keys() + ": Okay")
else:
print (testCase.keys() + ": Invalid")
例如:
测试一:好的
测试2:好的
测试3:好的
测试4:无效
测试5:好的
列表:
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
given = 'A'
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
for items in data:
for given in data.keys():
if testCase in data:
print (testCase.keys() + ": Okay")
else:
print (testCase.keys() + ": Invalid")
字典:
使用下面的dict将值A或B作为键,并与列表进行比较
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
尝试:
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
given = 'A'
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def','Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi','Test4'},
{'Test5', 'efg'}]}
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
for items in data:
for given in data.keys():
if testCase in data:
print (testCase.keys() + ": Okay")
else:
print (testCase.keys() + ": Invalid")
解决办法
- 分离逻辑:将检查一个
(A或B)+列表-对放入一个函数中(例如键
)。此外,如果在检查项()
的列表中找到数据[键]
值(例如
)和'def'
测试名(例如
),则可以将检查分离到另一个函数,'Test2'
检查测试确定()
def check\u test\u ok(testname、value、case\u项):
发现=错误
对于案例_项目中的项目:
if(项中的testname)和(项中的value):
找到=真
如果发现:
打印(testname,“:OK”)
返回
打印(testname,“:无效”)
def检查项目(案例项目、测试案例):
对于testname,test_case.items()中的值:
检查测试是否正常(测试名称、值、大小写项目)
对于键,data.items()中的case_项:
打印('检查项目',键)
打印('='*25)
检查项目(案例项目、测试案例)
打印(“\n”)
示例输出:
解决办法
- 分离逻辑:将检查一个
(A或B)+列表-对放入一个函数中(例如键
)。此外,如果在检查项()
的列表中找到数据[键]
值(例如
)和'def'
测试名(例如
),则可以将检查分离到另一个函数,'Test2'
检查测试确定()
def check\u test\u ok(testname、value、case\u项):
发现=错误
对于案例_项目中的项目:
if(项中的testname)和(项中的value):
找到=真
如果发现:
打印(testname,“:OK”)
返回
打印(testname,“:无效”)
def检查项目(案例项目、测试案例):
对于testname,test_case.items()中的值:
检查测试是否正常(测试名称、值、大小写项目)
对于键,data.items()中的case_项:
打印('检查项目',键)
打印('='*25)
检查项目(案例项目、测试案例)
打印(“\n”)
示例输出:
我就这样解决了
given = 'A'
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def', 'Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi', 'Test4'},
{'Test5', 'efg'}]}
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
for items in data.values():
for given,tests in zip(items,testCase.values()):
print(given,' : ',tests)
if tests in given:
print(testCase.keys() , ": Okay")
else:
print(testCase.keys() , ": Invalid")
我就这样解决了
given = 'A'
data = {'A': [{'Test1', 'abc'},
{'abc', 'def', 'Test2'},
{'abc', 'ghi', 'Test3'},
{'Test4', 'abc, xyz'},
{'abc', 'def', 'Test5'}],
'B': [{'Test1', 'abc'},
{'abc', 'ghi', 'Test3'},
{'ghi', 'Test4'},
{'Test5', 'efg'}]}
testCase = {'Test1': 'abc',
'Test2': 'def',
'Test3': 'ghi',
'Test4': 'ghi',
'Test5': 'def'}
for items in data.values():
for given,tests in zip(items,testCase.values()):
print(given,' : ',tests)
if tests in given:
print(testCase.keys() , ": Okay")
else:
print(testCase.keys() , ": Invalid")