Delaney, Timothy (Tim) wrote: > Cameron Walsh wrote: > >> Hi, >> >> I have two lists, A and B, such that B is a subset of A. >> >> I wish to sort A such that the elements in B are at the beginning of >> A, and keep the existing order otherwise, i.e. stable sort. The >> order of elements in B will always be correct. >> >> for example: >> >> A = [0,1,2,3,4,5,6,7,8,9,10] >> B = [2,3,7,8] >> >> desired_result = [2,3,7,8,0,1,4,5,6,9,10] > > c = set(B) > a.sort(key=c.__contains__, reverse=True) > > Tim Delaney
Depressingly simple. I like it. -- http://mail.python.org/mailman/listinfo/python-list