Delete common entries between two dictionaries

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


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