search for pattern in StringList

Daniel Daniel.Kinnaer at AdValvas.be
Mon Dec 18 18:01:33 CET 2000


On Mon, 18 Dec 2000 16:33:23 +0100, "Alex Martelli"
<aleaxit at yahoo.com> wrote:

>"Daniel" <Daniel.Kinnaer at AdValvas.be> wrote in message
>news:3a3e1935.5461298 at news.skynet.be...
>> As a Python newbie, I was trying a very simple exercise, but got
>> stuck. Is there someone who can help me complete this code, please?
>>
>> Thanks.
>> Daniel
>>
>>
>> MyList = ['an','been','call','door']
>>
>> print "Scanning a StringList"
>>
>> for i in range(0, len(MyList)):
>>     print i, MyList[i]
>
>Note that
>    for i in range(len(MyList)):
>is equivalent (0 is the default starting value for range).
>
>> #try to show every item in MyList which contains an 'a'
>> #that is 'an' and 'call'.   In Pascal :
>> #for i:=0 to MyList.Items.Count -1 do
>> #    if pos('a',MyList.Items[i])>0 then writeln(MyList.Items[i])
>> #in Python : ???
>
>In Python, it can be a little bit more "conceptually concise",
>thanks to the for-in statement (one can iterate on the
>items of a sequence directly, rather than iterating on
>the indices and using indexing in the body, when the
>index itself isn't needed):
>
>for item in MyList:
>    if item.find('a')>0:
>        print item
>
>
>It's not *necessary* to break the 'if', since its body
>is a single, simple statement -- you *could* also write:
>
>for item in MyList:
>    if item.find('a')>=0: print item
>
>but the normal Python convention is to end the line at
>any ':' (which concludes such statements as for, while,
>if, def, ... -- 'compound statements', basically), and
>then (this is not just convention, but a key Python
>lexical rule) you have to indent the statement's body
>uniformly.
>
>
>Alex
>
>
>
Thanks guys!  Indeed, Python seems to be a powerful and  'easy'
language (if you know how :-)

Daniel




More information about the Python-list mailing list