なんというか、あいまいに切り出しすぎたかも知れない・・・
ツリー状の関連性を持つ要素がランダムに名前をキーとしてsorce_dicに入ってます。
こいつを並べ替えた上で、並べ替えた後の親の番号を子に持たせる必要がある。というのが現状なんですが。
ツリーなんだから再起処理掛けてしまえと思ったことも間違いの元なのだろうか・・・・

sorce_dic = {ここに元データがある}
result_dic = {}

def SetData(item_name):
  data = sorce_dic[item_name]
  result_data = {}
  #ここに処理が入る
  if len(data["parent"]) != 0:
    result_data{"parent"} = result_dic.get(data["parent"],SetData(data["parent"]))
 
  new_no = len(result_dic)
  result_dic[new_no] = result_data
  arm_status["pmd_bones"][arm_status["pmd_id_dic"][bone.name]] = pmd_bone

  return new_no

for data in sorce_dic:
  result_dic.get(data["parent"],SetData(data["parent"]))

問題の場所が初めに提示した部分で
.getの1項目が存在すれば2項目は評価されないだろう、と安易に考えてのことだったんですが。