I need newbie help
john fabiani
jfabiani at yolo.com
Fri May 14 14:04:13 EDT 2004
Sean Berry wrote:
> You have to read the whole page to understand why.
>
> The title is: Python style switches.
> Python does not have a swith statement like many other languages.
> A switch statement could look like this:
>
> switch (a)
> case 1: do something
> case 2: do something else
> case 3: do something else
> default: do something else
>
> It evaluates a and checks to see if there is a matching case. If there
> is, it executes the code for that case. So if a==1, it would "do
> something."
>
> Since Python doesn't have a switch statement, you can make your own.
> In Python you could do something like this though:
>
> selector={
> x<0 : 'return None',
> 0<=x<1 : 'return 1',
> 1<=x<2 : 'return 2',
> 2<=x<3 : 'return 3',
> 3<=x : 'return None'
> }[a]
>
> if a == 1, it would "return 1".
>
>
>
>
>
>
>
>
> "john fabiani" <jfabiani at yolo.com> wrote in message
> news:F0Yoc.67040$Ub.57241 at newssvr25.news.prodigy.com...
>
>>Sean Berry wrote:
>>
>>
>>>"Joseph Davidson" <jhd at radix.net> wrote in message
>>>news:10a83t8qku40d44 at corp.supernews.com...
>>>
>>>
>>>>I am an experienced perl programmer learning python ( no commente please
>>>>).
>>>>
>>>>In looking at a sample script at
>>>>http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/269708
>>>>
>>>>I found the following code snippet.
>>>>--------------------------------------------------
>>>>location = 'myHome'
>>>>fileLocation = {'myHome' :path1,
>>>> 'myOffice' :path2,
>>>> 'somewhere':path3}[location]
>>>>
>>>>-----------------------------------------------------
>>>>
>>>
>>>
>>>fileLocation takes the 'value' of the 'key' "location"
>>>equilvalent to:
>>>
>>>location = 'myHome'
>>>files = {'myHome' :path1, 'myOffice' :path2, 'somewhere':path3}
>>>fileLocation = files[location]
>>>
>>>
>>>
>>>>It seems that this is setting up fileLocation as a dictionary, but what
>>>>is the "[location]" doing?
>>>>
>>>>Joe Davidson
>>>>
>>>>--
>>>
>>>
>>>
>>I'm also a newbie. Did the programmer that wrote the code not use your
>>way (3 statements) because his statement was faster or because it better
>>python?
>>
>>John
>
>
>
Thanks it's a replacement for a switch statement. This is cool. Is
"[a]" a list? If it's a list does it allow complex statement (not that
I can think of one at the moment)?
John
More information about the Python-list
mailing list