Delete common entries between two dictionaries

Amy G amy-g-art at cox.net
Mon Nov 24 17:58:03 EST 2003


Don't know what I could have done wrong, but it just returned the origianl
list, unchanged.


"Amy G" <amy-g-art at cox.net> wrote in message
news:WGvwb.7230$9O5.2236 at fed1read06...
> How do I do this same thing but with lists???
>
> I apparently have two lists... not dictionaries.
>
> This is what it prints if I add
> print domains_black
>
> [('YAHOO.COM', 118), ('buildingonline.com', 130), ('canada.com', 95),
> ('china.com', 104), ('earthlink.com', 118), ('earthlink.net', 122),
> ('email.com', 286), ('excite.com', 200), ('hongkong.com', 110),
('juno.com',
> 233), ('lycos.com', 95), ('mail.com', 399), ('minedu.fi', 134),
('msn.com',
> 764), ('shaw.ca', 259), ('stderr.windsongnews.com', 88), ('yahoo.ca',
435),
> ('yahoo.co.uk', 303), ('yahoo.com.hk', 156), ('yahoo.fr', 266)]
>
> This is domains_white
>
> [('aol.com', 17), ('awci.org', 6), ('cox.net', 12), ('hotmail.com', 6),
> ('yahoo.com', 11)]
>
> I want to be left with domains_black =
>
> [('YAHOO.COM', 118), ('buildingonline.com', 130), ('canada.com', 95),
> ('china.com', 104), ('earthlink.com', 118), ('earthlink.net', 122),
> ('email.com', 286), ('excite.com', 200), ('hongkong.com', 110),
('juno.com',
> 233), ('lycos.com', 95), ('mail.com', 399), ('minedu.fi', 134),
('msn.com',
> 764), ('shaw.ca', 259), ('stderr.windsongnews.com', 88), ('yahoo.ca',
435),
> ('yahoo.co.uk', 303), ('yahoo.com.hk', 156), ('yahoo.fr', 266)]
>
> ie. minus the entries in domains_white.
>
> Thanks again guys.
>
> AMY
> "Derrick 'dman' Hudson" <dman at dman13.dyndns.org> wrote in message
> news:97ba91-169.ln1 at dman13.dyndns.org...
> > On Mon, 24 Nov 2003 13:24:17 -0800, Amy G wrote:
> > > I have received such good help on this message board.  I wonder if I
> > > might not get a little more help from you on this.
> > >
> > > I am at the point where I have two dictionaries, with information of
> > > a domain and a frequency of that domain.
> > >
> > > Now that I have the two, I want to delete each entry from one that
> > > the two have in common, leaving only those that are unique to the
> > > dictionary?
> >
> > This would be great for sets, if a set adequately models your data.
> > (with two sets, this would simply be  (s1-(s1&s2)))
> >
> > > Say I have a dictionary called domains_black and another
> > > domains_white...
> >
> > Did you want to define equality by key or by (key, value) pair?
> >
> > for key in domains_white.keys() :
> >     if key in domains_black: del domains_black[key]
> >
> > for key in domains_white.keys() :
> >     if key in domains_black and domains_white[key] == domains_black[key]
:
> >         del domains_black[key]
> >
> > -D
> >
> > -- 
> > He who scorns instruction will pay for it,
> > but he who respects a command is rewarded.
> >         Proverbs 13:13
> >
> > www: http://dman13.dyndns.org/~dman/            jabber:
> dman at dman13.dyndns.org
>
>






More information about the Python-list mailing list