[Tutor] Am I making this harder than it needs to be?
Ron Phillips
RPhillips at engineer.co.summit.oh.us
Wed May 25 16:05:55 CEST 2005
Oh, thanks! That didn't exactly do the trick, because I had data like
[(1, 22),(2,11)], but from your code I came up with:
def getBB(self):
Es=[]
Ns=[]
for i in range(len(self)):
Es.append((self[i].E))
Ns.append((self[i].N))
self.boundingBox=geoBox((min(Es),min(Ns)),(max(Es),max(Ns)))
return(self.boundingBox)
which works fine, and I think will be pretty fast.
Ron
>>> Pujo Aji <ajikoe at gmail.com> 5/25/2005 9:47 AM >>>
try this code:
L = [(1,11),(2,22)]
print max(L)
print min(L)
I don't know if that what you want.
good luck
pujo
On 5/25/05, Ron Phillips <RPhillips at engineer.co.summit.oh.us> wrote:
>
> short version: I need a way to get max and min E and N out of
> [(E0,N0),(E1,N1)...(En,Nn)] without reordering the list
>
> long version:
>
> I would like a list of geographic coordinates (Easting, Northing) to
> maintain a "bounding box"
> [(minEasting,minNorthing),(maxEasting,maxNorthing)]
> attribute.
>
> I did it like this:
>
> class geoCoordinateList(UserList):
> def __init__(self):
> UserList.__init__(self)
> self.boundingBox = geoBox(minEN=geoCoordinate(),
> maxEN=geoCoordinate())
>
> def append(self, geoCoord):
> self.extend([geoCoord])
> self.boundingBox.challenge(geoCoord)#bumps the max and min
if
> necessary
>
> but I'd have to override almost all the UserList methods, unless
there's a
> way to call boundingBox.challenge() on any change to the list.
>
> The other way I thought would be to make a getBB method, like:
>
> def getBB(self):
> new=geoBox()
> for gC in self:
> new.challenge(gC)#bumps the corners if needed
> self.boundingBox=new
> return(new)
>
> but that seems like a lot of churning if nothing has changed.
>
> I suspect there's some slick, readable way to do this, and when I see
it
> I'll say "Doh!"
>
>
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
>
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20050525/6d0bc180/attachment.htm
More information about the Tutor
mailing list