Merging lists has made my brain hurt.
Max M
maxm at mxm.dk
Wed Oct 2 17:56:23 EDT 2002
More information about the Python-list mailing list
Wed Oct 2 17:56:23 EDT 2002
- Previous message (by thread): Merging lists has made my brain hurt.
- Next message (by thread): Merging lists has made my brain hurt.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Robert wrote:
> common=[]
> d={}
> for l in lol:
> for e in l:
> if e in d: d[e]+=1
> else: d[e]=1
> n=len(lol)
> common = [e for e in d if d[e]==n]
> print common
Slightly improved:
d = {}
for l in lol:
for i in l:
d[i] = d.setdefault(i, 0) + 1
n=len(lol)
common = [e for e in d if d[e]==n]
print common
Or the shortest one I can come up with. Don't know about the brain-pain
though ;-)
d = {}; common = []
for i in reduce(lambda x,y: x+y, lol):
d[i] = d.setdefault(i, 0) + 1
if d[i] == len(lol): common.append(i)
print common
or the perl version:
&_<$>& s_$
print _#($_{})
;-)
--
regards Max M
the Law of Inverse Squares. With sound, for example, a source twice as
far away from the detector (an ear?) provides just one-quarter of the
strength of signal. ESP has been said to show no fall-off at all, let
alone any diminution of strength. Well, we must admit that zero signal
won't show any change...
- Previous message (by thread): Merging lists has made my brain hurt.
- Next message (by thread): Merging lists has made my brain hurt.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list