[Tutor] dict() versus {}
wormwood_3
wormwood_3 at yahoo.com
Thu Jan 22 04:54:23 CET 2009
When creating a list of dictionaries through a loop, I ran into a strange issue. I'll let the code talk:
>>> l = 'i am a special new list'.split()
>>> t = []
>>> for thing in l:
... t.append({thing: 1})
...
>>> t
[{'i': 1}, {'am': 1}, {'a': 1}, {'special': 1}, {'new': 1}, {'list': 1}]
This is what I expected. {} says to make a dictionary. Thing, not being quoted, is clearing a variable, which needs to be evaluated and used as the key.
>>> t = []
>>> for thing in l:
... t.append(dict(thing=1))
...
>>> t
[{'thing': 1}, {'thing': 1}, {'thing': 1}, {'thing': 1}, {'thing': 1}, {'thing': 1}]
This was what threw me. Why would the dict() function not evaluate thing? How can it take it as a literal string without quotes?
Thanks for any insight,
Sam
_______________________
Samuel Huckins
Homepage - http://samuelhuckins.com
Tech blog - http://dancingpenguinsoflight.com/
Photos - http://www.flickr.com/photos/samuelhuckins/
AIM - samushack | Gtalk - samushack | Skype - shuckins
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20090121/446957d2/attachment.htm>
More information about the Tutor
mailing list