"Ho Yeung Lee" <[email protected]> a écrit dans le message de news:[email protected]...
from itertools import groupbytesting1 = [(1,1),(2,3),(2,4),(3,5),(3,6),(4,6)] def isneighborlocation(lo1, lo2): if abs(lo1[0] - lo2[0]) == 1 or lo1[1] == lo2[1]: return 1 elif abs(lo1[1] - lo2[1]) == 1 or lo1[0] == lo2[0]: return 1 else: return 0 groupda = groupby(testing1, isneighborlocation) for key, group1 in groupda: print key for thing in group1: print thing expect output 3 group group1 [(1,1)] group2 [(2,3),(2,4] group3 [(3,5),(3,6),(4,6)]
Its not clear to me how you build the groups Why (1,1) is not in group2 since (1,1) is a neighbor to both (2,3) and (2,4) ? -- https://mail.python.org/mailman/listinfo/python-list
