"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

Reply via email to