### Multi-key Python dictionary

September 17th, 2011 by **erb**

There are several (easily found via Google) Python dictionary variations available, that allow you to map multiple values for a given key. Essentially allowing a list of values for the key to be stored.

I was looking for the converse: I wanted to (efficiently) hash multiple keys to a single, common value.

Here’s code to do this (after the cut), that provides a (relatively) complete equivalent to the built-in dict methods: (minimally tested!)

`>>> d = MultiDict({'a':2, 'b':3})`

>>> d

{'a': 2, 'b': 3}

>>> d['c'] = 4 ; d

{'a': 2, 'b': 3, 'c': 4}

>>> d.setdefault(['x','a'])

2

>>> d

{['a', 'x']: 2, 'b': 3, 'c': 4}

>>> d['a']

2

>>> d['x'] = 10 ; d

{['a', 'x']: 10, 'b': 3, 'c': 4}

>>> d = MultiDict([['a', 10], [['b','c','d'], 20], ['e',30]])

>>> d

{'a': 10, ['c', 'b', 'd']: 20, 'e': 30}

>>> d['b']

20

>>> d['d'] = 50 ; d['c']

50

>>> d.keys()

['a', 'c', 'b', 'e', 'd']

>>> d.values()

[10, 50, 50, 30, 50]

>>> d.items()

[('a', 10), ('c', 50), ('b', 50), ('e', 30), ('d', 50)]

>>> d.__sizeof__()

248

>>> 'b' in d

True

>>> del d['b']

>>> 'b' in d

False

>>> d

{'a': 10, ['c', 'd']: 50, 'e': 30}

>>> d.pop('c')

50

>>> d.pop('d')

50

>>> d

{'a': 10, 'e': 30}

>>> d.__sizeof__()

248

>>> d.setdefault(['a','b'], 60)

60

>>> d

{['a', 'b']: 60, 'e': 30}

>>>

### More Mathematica Fun for Memorial Day

May 30th, 2011 by **erb**

Mathematica Users LinkedIn contributor Sol Lederman posted a Mathematica Programming Contest on his Playing with Mathematica blog this weekend for Memorial Day:

Draw the US Flag in

Mathematica. To be eligible to win you should get the colors roughly right as well as the number of stars and stripes. I’ll give extra points if your flag has creases in it, as if it were flapping in the wind. I’ll give double extra brownie points if you create an animated GIF of your Mathematica US flag flapping in the wind.

So I did just that!

The *Mathematica* notebook is available, as is the Computable Document Format file, and a PDF file.

(CDF files are a new format from Wolfram Research, allowing you to actually load and interact with *Mathematica* notebooks on your own computer, with the free downloadable CDF Player.)

### Ah the 90s…

October 26th, 2008 by **erb**

I was unpacking this weekend, and came across my old college yearbooks. I just **had** to scan some pictures to post … some for (misplaced?) pride, some just for shame!

1991 RHIT Yearbook, Theta Xi Composite

1992 RHIT Yearbook, Theta Xi Composite

Greek Games “The Taxi” cart (circa 1991?)

### Sisters of Mercy on Tour

September 9th, 2008 by **erb**

So I got an email from TicketsWest saying Sisters concert tickets were going on Internet Pre-Sale tomorrow morning.

Saturday Nov. 22nd, 2008, Roseland Theater (Portland)

Sunday Nov. 23rd, 2008, El Corazon (Seattle)

Anyone have the skinny on Tour dates and locations? Specifically, Mid-West? The Sisters web site is of no help….

### Monthly Game Night

September 1st, 2008 by **erb**

Once a month, come over for an evening of board games, food, drink, and fun at ChezBrodeur! Hang with old friends, make new friends, and relax playing board games.

2^{nd} Saturday of every month at ChezBrodeur. All the details are at the ChezBrodeur.net/gamenight site. First night is on Facebook if you want to RSVP.