Write a function that takes two arguments, and returns a new array populated with the elements **that only appear once, in either one array or the other, taken only once**; display order should follow what appears in arr1 first, then arr2: 
```python
hot_singles([1, 2, 3, 3], [3, 2, 1, 4, 5]) # [4, 5]
hot_singles(["tartar", "blanket", "cinnamon"], ["cinnamon", "blanket", "domino"]) # ["tartar", "domino"]
hot_singles([77, "ciao"], [78, 42, "ciao"]) # [77, 78, 42]
hot_singles([1, 2, 3, 3], [3, 2, 1, 4, 5, 4]) # [4,5]
```
SPECIAL THANKS: @JulianKolbe !
def ordered(l, arr1,arr2):
    return [l,arr2.index(l) + len(arr1) if l in arr2 else arr1.index(l)]

def hot_singles(arr1, arr2):
    L = [ ordered(l,arr1,arr2) for l in set(arr1) ^ set(arr2)]
    return list(map(lambda l: l[0], sorted(L , key=lambda l: l[1])))
def ordered(l, arr1,arr2):
    return [l,arr2.index(l) + len(arr1) if l in arr2 else arr1.index(l)]

def hot_singles(arr1, arr2):
    L = [ ordered(l,arr1,arr2) for l in set(arr1) ^ set(arr2)]
    return list(map(lambda l: l[0], sorted(L , key=lambda l: l[1])))