On Thursday, February 23, 2012 2:27:44 AM UTC-5, Mchurch wrote: > > **{'%s%s' % (Keyword, n): checked}) > Anthony, can you explain it better? It's something that I would like > to understand very well. >
'%s%s' % (Keyword, n) is Python string formatting -- if Keyword is "hello" and n is 5, it will produce the string "hello5". Now, suppose "checked" is a boolean value equal to True -- then the above will produce the following dictionary: {hello5: True} In Python, you can pass a dictionary to a function and precede it with **, and that is equivalent to passing each item in the dictionary to the function as a separate keyword argument. So, update(**{hello5: True}) is equivalent to update(hello5=True) Of course, the "hello5" is generated dynamically, so we can't use the latter syntax, but we can construct a dictionary with a dynamically generated key, which enables us to use the former syntax. Anthony