Somme symétrique

### START FUNCTION
def symmetrical_sum(a):
   
    dupe = [x for n, x in enumerate(a) if x in a[:n]] 

#if no duplicate values found, do the following:
    if dupe == []:
        middle = float(len(a))/2
        if middle % 2 != 0:
            sym = a[int(middle - .5):int(middle + .5)]
            ans = a[int(middle - .5)]
            tuple1 = (sym, ans)
        elif middle % 2 == 0:
            sym = a[int(middle - 1):int(middle + 1)]
            ans = sum(a[int(middle - 1):int(middle + 1)])//2
            tuple1 = (sym, ans)
        return tuple1
    else:
        d_to_i = int("".join(map(str, dupe))) #convert duplicate value to integer
        p1 = a.index(d_to_i) #get index of first duplicate
        p2 = a.index(d_to_i, p1+1) #get index of second duplicate
        sym = a[p1:p2+1] #[symmetrical-portion]
        ans = sum(sym) #sum-of-symmetrical-portion
        tuple2 = (sym, ans)
    return tuple2
### END FUNCTION
Distinct Dragonfly