2007/1/16, Carlos <[EMAIL PROTECTED]>:
Hello to everybody, I have a question that I think is a little related to clustering, I have a list of lists, like this: List = [[1,5],[6,8],[48,10],[99,56]] The list is composed by a large number of lists not just four, and each 'interior' list contains two numbers that are the location of an object in a plane, so they are X and Y coordinates, my question is: Can I use this list to evaluate how many points are in a given range? Thats is taking the highest and lowest values for X an Y and, lets say divide that range in 10 regions, then get the number of objects on each region. Is this possible? and if yes, how canI do it? I ask this because as you know my python skills are not that great :)
First, this feels like a list of tuples rather than a list of lists; however, tuples and lists don't differ that much in their behaviour, so there's nothing really lost. And yes, it is possible. An inline if would be the way I would resolve that: def withinrange(list,xmin,xmax,ymin,ymax): # Get the elements of list for which the first part of the pair is between xmin and xmax # (inclusive) and the second between ymin and ymax. return [c for c in list if xmin <= c[0] <= xmax and ymin <= c[1] <= ymax] The longer but clearer method of doing the same would be: def withinrange(list,xmin,xmax,ymin,ymax): templist = [] for c in list: if xmin <= c[0] <= xmax and ymin <= c[1] <= ymax: templist.append(c) return templist -- Andre Engels, [EMAIL PROTECTED] ICQ: 6260644 -- Skype: a_engels
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor