Fowarding to the list.
Remember to use Reply ALL when replying.
Alan G.
"Tino Dai" <obe...@gmail.com> wrote
>>>
>>>
>>>>>>> Is there a way to express this:
>>>>>>>> isThumbnail = False
>>>>>>>> if size == "thumbnail":
>>>>>>>> isThumbnail = True
>>>>
>>>>>>>> like this:
>>>>>>>> [ isThumbnail = True if size == "thumbnail" isThumbnail = False ]
>>>>
>>>
>>>Bob showed one way, you could also do:
>>>
>>>>>>isThumbnail = True if size == "thumbnail" else False
>>>
>>>
>>>
>>>>>>> and the scoping extending to one level above without resorting to the
>>>>>>>>global keyword?
>>>>
>>>
>>>Not sure what this has to do with scoping or the use of global?
>>>>>>global is only needed inside a function if you are modifying a
>>>>>>value defined outside the function.
>>>
>>>>>>If the assignment is inside a function and the definition of
>>>>>>isThumbnail is outside then you need to use global.
>>>
>>>>>>HTH,
>>>
>>>
>>
>>Hi Bob, Alan, and Joel,
>>
>> I may have used scoping in an incorrect way. To clear things up, let me
>> try to explain my general issue:
>>
>> I have code that is unpythonic in many places. It works, but it's ugly.
>> One of those unpythonic places is I'm initializing some variable such as a
>> list,dict, or whatever outside of if/while/for in block to use later. So,
>> I'm cleaning those places up.
>>
>> For example, my present code looks like:
>> L = [] # Needed or L doesn't exist outside of for loop below
>> for o in a:
>> if o.someAttribute > someConstant:
>> L.append(o.someOtherAttribute)
>>>>
>> .... later in code ....
>> <some use of L>
>>
>> Would like my code to resemble (don't know if this code works):
>> L = [o.someOtherAttribute if o.someAttribute > someConstant else pass
>> for o in a]
>>>>
>> .... later in code ....
>> <some use of L>
>>
>> Does that make more sense?
>>
>>TIA,
>>Tino
>>On Thu, Jun 3, 2010 at 1:10 PM, Alan Gauld <alan.ga...@btinternet.com> wrote:
>>
>Here is some actual code that I working on right now:
>
>First iteration:
>>answerDict={}
>for key in qas[0].fk_question.q_WidgetChoice.all():
> answerDict[str(key.widgetChoice)]=0
>
>Second iteration:
>answerDict=dict([(str(key.widgetChoice),0) for key in
>qas[0].fk_question.q_widgetChoice.all()])
>
>Third iteration:
>answerDict=dict(map(lambda x: \
> (str(x.widgetChoice),0),qas[0].fk_question.q_WidgetChoice.all()))
>
>The third iteration is what I'm looking for.
>
>-Tino
>On Thu, Jun 3, 2010 at 1:39 PM, Tino Dai <obe...@gmail.com> wrote:
>
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor