我有2个条形码扫描仪,需要对照嵌套字典进行检查。
首先,我需要找到与scanner1中匹配的“外部”条形码相对应的密钥。
我需要运行密钥并找到相应的“内部”条形码,然后将结果与scan2比较,以查看它们是否匹配。这样可以检查我们纸箱中的物品是否正确。
我尝试了一些示例,但它们似乎没有用。
运行此命令时,我只会返回“无”。
这是我必须搜索的词典的一部分。
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))
答案 0 :(得分:0)
首先,我需要找到与匹配项相对应的密钥 扫描仪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"]