A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2008-May/079930.html below:

[Python-Dev] Iterable String Redux (aka StringABC)

[Python-Dev] Iterable String Redux (aka StringABC)Ron Adam rrr at ronadam.com
Fri May 30 17:50:08 CEST 2008
Raymond Hettinger wrote:
> "Jim Jewett"
>> It isn't really stringiness that matters, it is that you have to
>> terminate even though you still have an iterable container.
> 
> Well said.
> 
> 
>> Guido had at least a start in Searchable, back when ABC
>> were still in the sandbox:
> 
> Have to disagree here.  An object cannot know in general
> whether a flattener wants to split it or not.  That is an application
> dependent decision.  A better answer is be able to tell the
> flattener what should be considered atomic in a given circumstance.
> 
> 
> Raymond

A while back (a couple of years I think), we had a discussion on 
python-list about flatten in which I posted the following version of a 
flatten function. It turned out to be nearly twice as fast as any other 
version.


def flatten(L):
     """ Flatten a list in place. """
     i = 0
     while i < len(L):
         while type(L[i]) is list:
             L[i:i+1] = L[i]
         i += 1
     return L


For this to work the object to be flattened needs to be both mutable and 
list like.  At the moment I can't think of any reason I would want to 
flatten anything that was not list like.



To make it a bit more flexible it could be changed just a bit.


def flatten(L):
     """ Flatten a list in place. """
     objtype = type(L)
     i = 0
     while i < len(L):
         while type(L[i]) is objtype:
             L[i:i+1] = L[i]
         i += 1
     return L


Generally, I don't think you would want to flatten dissimilar objects.

Cheers,
    Ron






More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4