actually i used in this application if same color is neighbor like connected then group them
i use for segmentation of words in screen capture https://stackoverflow.com/questions/45294829/how-to-group-by-function-if-any-one-of-the-group-members-has-neighbor-relationsh i asked here too, but i do not know how to use partial and do not know what center is. On Wednesday, July 26, 2017 at 2:06:08 PM UTC+8, ast wrote: > "Ho Yeung Lee" <jobmatt...@gmail.com> a écrit dans le message de > news:ef0bd11a-bf55-42a2-b016-d93f3b831...@googlegroups.com... > > from itertools import groupby > > > > testing1 = [(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