[Tutor] Lists on the fly?
Luke Paireepinart
rabidpoobear at gmail.com
Sat Dec 23 20:44:37 CET 2006
Kent Johnson wrote:
> Luke Paireepinart wrote:
>
>> I think a better way to do this is to check if 'Level_%i' is in your
>> dictionary already.
> I am a fan of dict.setdefault() which has this logic built in:
> Lev_List = {}
> for Element in Elements:
> keystr = 'Level_%i' % Element['Level']
> Lev_List.setdefault(keystr, []).append(Element['Name'])
>
> Also there is no need to create a string for the key, Element['Level']
> is a fine key:
>
You're absolutely right, Kent.
I just created a variable for it because I referred to it 3 times, and
didn't want to write out the string over and over.
The only reason I used 'Level_%i' instead of just Element['Level'] was
because he had that in the original program.
> Lev_List = {}
> for Element in Elements:
> Lev_List.setdefault(Element['Level'], []).append(Element['Name'])
>
Really cool.
I'm a fan now, too :)
Thanks for this.
-Luke
More information about the Tutor
mailing list