f=lambda s,n:sorted([x for x in n if s in x],key=lambda x:x.find(s)) test=f('mig',['imig','mig', 'migd', 'do', 'Mig']) print 'mig, [imig, mig, migd, do, Mig] --> ['+', '.join(test)+']'