d = {
'B': [59, 60],
'A': ['tg', 17],
'C': [60, 61],
'D': [57, 'tt'],
'E': [61, 'tg'],
'F': ['tt', 59],
}
# we build a inverted dictonnary to return the list
# the tuple of values [v1, v2] for each value v{1,2}
# { 17: [['tg', 17]],
# 57: [[57, 'tt']],
# 'tg': [['tg', 17], [61, 'tg']],
# 60: [[59, 60], [60, 61]], ... }
dico = dict()
for i in d.values():
for j in i:
dico[j] = dico.get(j, []) + [i]
print(dico)
# we get a piece of the list, that easy there is one instance
m = min(l := [j for i in d.values() for j in i], key=l.count) # py 3.8
print(m, l, l.count(57))
z = [m]
v1, v2 = dico[m][0]
v = v1 if v2 == m else v2 # we get the other value of the tuple
z.append(v)
while len(dico[v]) > 1: # until we a not a the end of the chain
v1, v2 = [i for i in dico[v] if m not in i][0]
m = v
v = v1 if v2 == m else v2
z.append(v)
print(z)
ZCA9IHsKCSdCJzogWzU5LCA2MF0sIAoJJ0EnOiBbJ3RnJywgMTddLCAKCSdDJzogWzYwLCA2MV0sIAoJJ0QnOiBbNTcsICd0dCddLCAKCSdFJzogWzYxLCAndGcnXSwgCgknRic6IFsndHQnLCA1OV0sCn0KIAojIHdlIGJ1aWxkIGEgaW52ZXJ0ZWQgZGljdG9ubmFyeSB0byByZXR1cm4gdGhlIGxpc3QKIyB0aGUgdHVwbGUgb2YgdmFsdWVzIFt2MSwgdjJdIGZvciBlYWNoIHZhbHVlIHZ7MSwyfQojIHsgIDE3OiBbWyd0ZycsIDE3XV0sCiMgICAgNTc6IFtbNTcsICd0dCddXSwKIyAgICAndGcnOiBbWyd0ZycsIDE3XSwgWzYxLCAndGcnXV0sCiMgICAgNjA6IFtbNTksIDYwXSwgWzYwLCA2MV1dLCAuLi4gfQpkaWNvID0gZGljdCgpCmZvciBpIGluIGQudmFsdWVzKCk6CiAgICBmb3IgaiBpbiBpOgogICAgICAgIGRpY29bal0gPSBkaWNvLmdldChqLCBbXSkgKyBbaV0KICAgICAgICAKcHJpbnQoZGljbykKIAojIHdlIGdldCBhIHBpZWNlIG9mIHRoZSBsaXN0LCB0aGF0IGVhc3kgdGhlcmUgaXMgb25lIGluc3RhbmNlCm0gPSBtaW4obCA6PSBbaiBmb3IgaSBpbiBkLnZhbHVlcygpIGZvciBqIGluIGldLCBrZXk9bC5jb3VudCkgIyBweSAzLjgKcHJpbnQobSwgbCwgbC5jb3VudCg1NykpCiAKeiA9IFttXQp2MSwgdjIgPSBkaWNvW21dWzBdCnYgPSB2MSBpZiB2MiA9PSBtIGVsc2UgdjIgIyB3ZSBnZXQgdGhlIG90aGVyIHZhbHVlIG9mIHRoZSB0dXBsZQp6LmFwcGVuZCh2KQogCndoaWxlIGxlbihkaWNvW3ZdKSA+IDE6ICMgdW50aWwgd2UgYSBub3QgYSB0aGUgZW5kIG9mIHRoZSBjaGFpbgogICAgdjEsIHYyID0gW2kgZm9yIGkgaW4gZGljb1t2XSBpZiBtIG5vdCBpbiBpXVswXQogICAgbSA9IHYKICAgIHYgPSB2MSBpZiB2MiA9PSBtIGVsc2UgdjIKICAgIHouYXBwZW5kKHYpCiAKcHJpbnQoeik=
{59: [[59, 60], ['tt', 59]], 60: [[59, 60], [60, 61]], 'tg': [['tg', 17], [61, 'tg']], 17: [['tg', 17]], 61: [[60, 61], [61, 'tg']], 57: [[57, 'tt']], 'tt': [[57, 'tt'], ['tt', 59]]}
17 [59, 60, 'tg', 17, 60, 61, 57, 'tt', 61, 'tg', 'tt', 59] 1
[17, 'tg', 61, 60, 59, 'tt', 57]