On 22/01/2015 15:40, dw wrote:
Thanks for your good comments.
I do think I found a work around

body = ""
for x in range(0,len(line_array)):
     test_line = len(re.findall(r'[0-9]{2}/[0-9]{2}/[0-9]{4}',
     line_array[x]))
     if test_line > 0:
         body = body + line_array[x]+"\n"

Using range in a Python for loop is often a code smell. Your names are poor as well. The Pythonic way is:-

body = ""
for line in line_array:
    linelen = len(re.findall(r'[0-9]{2}/[0-9]{2}/[0-9]{4}', line))
    if linelen > 0:
        body += line + "\n"

Also note that although the above is adequate for small data sets, the performance dives terribly as the size of the data set goes up. Your homework for this weekend is to research how one normally joins strings in Python and report back. Have a good one :)

--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to