wormwood_3 wrote:
Hmm, looked through the latest docs, in the sections on dictionary types, don't see examples that point to this case well. Can you link to what you had in mind?

2.1 Built-in Functions
...
dict( [mapping-or-sequence])
...
these all return a dictionary equal to {"one": 2, "two": 3}:
...
dict( two=3)



From: bob gailer <bgai...@gmail.com>
To: wormwood_3 <wormwoo...@yahoo.com>
Cc: Python Tutorlist <tutor@python.org>
Sent: Wednesday, January 21, 2009 11:02:35 PM
Subject: Re: [Tutor] dict() versus {}

wormwood_3 wrote:
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?
I suggest you look dict up in the Python documentation. There it shows the result you got as an example. When in doubt read the manual.

--
Bob Gailer
Chapel Hill NC
919-636-4239

_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor


--
Bob Gailer
Chapel Hill NC
919-636-4239


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to