osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

how to sort a list of tuples with custom function



def isneighborlocation(lo1, lo2):
    if abs(lo1[0] - lo2[0]) < 7  and abs(lo1[1] - lo2[1]) < 7:
        return 1
    elif abs(lo1[0] - lo2[0]) == 1  and lo1[1] == lo2[1]:
        return 1
    elif abs(lo1[1] - lo2[1]) == 1  and lo1[0] == lo2[0]:
        return 1
    else:
        return 0


sorted(testing1, key=lambda x: (isneighborlocation.get(x[0]), x[1]))

return something like
[(1,2),(3,3),(2,5)]