If you just completed a Selection, why would you need to loop any where?
Wouldn't you have (hope you kept them) the key and tag to get what you want directly without looping?
By the Way, if you use 4 or 5 TinyDB NameSpaces (Name, picture, price,...) you can update and extract by tag=(ID number) directly without dictionaries or lists.