Krishna Pacifici wrote:
Hi,
kind of a newbie here, but I have two questions that are probably pretty simple.
1. I need to get rid of duplicate values that are associated with different
keys in a dictionary. For example I have the following code.
s={}
s[0]=[10,2,3]
s[10]=[22,23,24]
s[20]=[45,5]
s[30]=[2,4]
s[40]=[6,7,8]
Now I want to be able to loop through the primary keys and get rid of
duplicates (both in keys and values) so that I would have either a new
dictionary or the same dictionary but with the following values:
s[0]=[3]
s[10]=[22,23,24]
s[20]=[45,5]
s[30]=[2,4]
s[40]=[6,7,8]
It doesn't matter which value gets removed as long as there is only one
remaining, so in this example it doesn't matter that 2 got removed from s[0] or
from s[30] as long as there is only one 2 in the dictionary.
2. I need to be able to loop over the values in the dictionary when there are
multiple values assigned to each key like above and assign new values to those
values. Taking the above example I would want to assign a new value so that
when you called s[0] it would equal [3,4] say if 4 was the new value. I think
this should be as simple as adding a value, but I kept on having difficulty.
Any suggestions would be greatly appreciated.
Thank you very much,
Krishna
Sounds like homework. If it was for an unconstrained project, I'd
design a different data structure, one that directly enforced the data
constraints. So far, I can't imagine a useful reason for this
particular set of constraints.
Let's break the problems down.
1a) Do you know how to write a loop that visits all the keys of a
dictionary?
1b) Do you know how to safely check if a particular key exists?
e.g. if key in s:
1c) Do you know how to collect a set of values, so that when a
duplicate is found, it can be recognized as such?
1d) Do you know how to remove an item from a list?
2a) Like 1a)
2b) Do you know how to append a value to the end of a list? Is s[key] a
list?
DaveA
--
http://mail.python.org/mailman/listinfo/python-list