#https://docs.python.org/3.5/howto/sorting.html?highlight=sort
#In Python 3.2, the function was added to the module in the standard library
# compare function
def mycmp(x,y):
if len(x) == len(y): if x== y : return 0 elif x < y: return -1 else: return 1 else: return len(x) - len(y)#transfer compare func to key
def cmp_to_key(mycmp): '''Convert a cmp= function into a key= function''' class K(object): def __init__(self, obj, *args): self.obj = obj def __lt__(self, other): return mycmp(self.obj, other.obj) < 0 def __gt__(self, other): return mycmp(self.obj, other.obj) > 0 def __eq__(self, other): return mycmp(self.obj, other.obj) == 0 def __le__(self, other): return mycmp(self.obj, other.obj) <= 0 def __ge__(self, other): return mycmp(self.obj, other.obj) >= 0 def __ne__(self, other): return mycmp(self.obj, other.obj) != 0 return K#first do unique
line_list = list(np.unique(line_list))#sort the string list
res = line_list.sort(key = cmp_to_key(mycmp))