A nifty algoritm for filtering out values
Quinn Dunkan
quinn at lira.ugcs.caltech.edu
Tue Nov 21 23:41:41 EST 2000
On Tue, 21 Nov 2000 20:38:46 -0500, Tyler Eaves <tyler at tylereaves.com> wrote:
>from string import split
>foo2=[]
>for x in foo:
> foo2.append(split(x,'.')[0])
>
>
>On 21 Nov 2000 23:46:21 +0100, morten at esol.no (Morten W. Petersen)
>wrote:
>
>>Any suggestions as to how this is best achieved (speed-wise) ?
>>
>>If there is a list, like so:
>>
>> ['comp.lang.python', 'comp.lang.lisp', 'alt.test', 'alt.fan.jwz',
>> 'no.it.os.unix.linux.diverse'] * 300
>>
>>What's the best way of getting another object that shows only something like
>>this:
>>
>> ['comp', 'alt', 'no']
>>
>>?
newsgroups = ['comp.lang.python', 'comp.lang.lisp', 'alt.test', 'alt.fan.jwz',
'no.it.os.unix.linux.diverse'] * 300
prefixes = {}
for n in newsgroups:
prefixes[n.split('.', 1)[0]] = None
prefixes = prefixes.keys()
It may be faster to write:
prefixes = {}
for n in newsgroups:
assert '.' in n
prefixes[n[:n.find('.')]] = None
prefixes = prefixes.keys()
I'll let you do the benchmarks :)
More information about the Python-list
mailing list