[Tutor] how do I create a lists of values associated with a key?

Benoit Thiell benoit.thiell at cern.ch
Fri Aug 1 12:29:01 CEST 2008


Dear Angela,

in order to do this, the setdefault function of the dictionaries is very 
useful.

For example:
mydict = {}
mylist = mydict.setdefault(mykey, [])
mylist.append(myvalue)

"setdefault" either returns the already existing list or sets a new list 
for the key and returns it.

Regards,
Benoit Thiell.

On Fri, 1 Aug 2008, Marc Tompkins wrote:

> 
> 
> On Thu, Jul 31, 2008 at 8:16 PM, Angela Yang <angelayian at yahoo.com> wrote:
>       Hi,
>
>       I have a list of values for one key.  How do I specify this data structure?
>
>       First tried,
>
>       collection = []
>       collection['abby'].append('apprentice1')
>       collection['abby'].append('apprentice2')
>
>       That did not work because list index is not numeric.
>       But for dictionaries, it is key - value pairs.  But I need key -> multiple values.
>
>       Do you have some example how to specify this?
>
>       Angela
> 
> 
> Each "value" can, itself, be a container - a tuple, a list, or another dictionary.
> 
> dictTuple = {"a":(1,2,3), "b":(4,5,6)}
> dictList = {"a":[1,2,3], "b":[4,5,6]}
> dictDict = {"a":{"c":"1","d":"2","e":"3"}, "b":{"f":"4","g":"5","h":"6"}}
> 
> Retrieving values:
> valValue = dictTuple["a"][0]  # 1
> valValue = dictTuple["b"][2]  # 6
> 
> Lists work just the same:
> valValue = dictList["a"][0]  # 1
> valValue = dictList["b"][2]  # 6
> 
> Dictionaries are, well, like dictionaries:
> valValue = dictDict["a"]["c"]  # 1
> valValue = dictDict["b"]["h"]  # 6
> 
> 
> Hope that helps....
> 
> --
> www.fsrtechnologies.com
> 
>


More information about the Tutor mailing list