我有2个条形码扫描仪,需要对照嵌套字典进行检查。
首先,我需要找到与scanner1中匹配的'外部'条形码相对应的密钥。
我需要运行密钥并找到相应的“内部”条形码,然后将结果与scan2比较,以查看它们是否匹配。这检查我们的纸箱中是否有正确的物品。
我已经尝试了一些示例,但是它们似乎没有用。
当我运行此程序时,我只会返回None。
这是我必须搜索的词典的一部分。
barcodes = {1: {'Outer': '10000261344131', 'Inner': '26214092', 'Lane': '3', 'Group': '1'},
2: {'Outer': '10000261343905', 'Inner': '26134390', 'Lane': '3', 'Group': '1'},
3: {'Outer': '10000261343769', 'Inner': '26134376', 'Lane': '1', 'Group': '1'},
4: {'Outer': '14088700046026', 'Inner': '4088700046029', 'Lane': '0', 'Group': '0'},
5: {'Outer': '19100010090011', 'Inner': '9100010090011', 'Lane': '1', 'Group': '0'},
6: {'Outer': '19300601775283', 'Inner': '9300601775286', 'Lane': '1', 'Group': '0'},
7: {'Outer': '19300633223844', 'Inner': '9300633223847', 'Lane': '1', 'Group': '0'}}
scanner1 = '19300633223844'
scanner2 = '9300633223847'
def search(values, searchFor):
for k in values:
for v in values[k]:
if searchFor in v:
return k
return None
#Checking if string 'Mary' exists in dictionary value
groupfind = search(barcodes, str(scanner1))
首先,我需要找到与匹配项相对应的密钥扫描仪1的“外部”条形码。
matches = [k for k, v in barcodes.items() if v["Outer"] == scanner1]
我需要运行密钥并找到相应的“内部”条形码,然后将结果与scan2比较,看它们是否匹配。这检查我们的纸箱中装着正确的物品。
if matches:
key = matches[0] # Assumes only 1 match can be found in the first step.
if barcodes[key]["Inner"] == scanner2:
print("Inner matches scanner2")
else:
print("Inner doesn't match scanner2"]