On 2011-10-08 05:34, lina wrote:
Another minor derived questions:

         summary=[]
         for a,b in zip(results['E'],results['B']):
             summary.append(a+b)    ## now the summary is '[0,1, 3, 5,
6,0,0,0]'
         del summary[0]   ## here I wanna remove the first zero, which came
from the initial double quote "EB...E",
         summary.pop()    ## here I wanna remove the last three zeros
         summary.pop()
         summary.pop()
         print(summary)   ### output is [1,3,5,6]
         summary='\n'.join(str(summary).split(','))  ### wish the result in
one column,
         with open(base+OUTFILEEXT,"w") as f:
             f.write(str(summary))

the final result in the output.txt file is:
[1
3
5
6]

Q1: how can I remove the [1 "[" to only keep 1?

That's a job for a list comprehension (read http://docs.python.org/py3k/tutorial/datastructures.html#list-comprehensions for a short introduction):

new_summary = '\n'.join([str(element) for element in summary])

Q2 how can I improve above expressions?

-) As above, you could use a list comprehension for creating your summary list:

summary = [(a + b) for a, b in zip(results['E'], results['B'])]

-) Instead of

del summary[0]
summary.pop()
summary.pop()
summary.pop()

I suggest to slice your list:

summary = summary[1:-3]

But this assumes that your summary list will always have one leading zero and 3 trailing zeros.

-) In your last line

with open(base+OUTFILEEXT,"w") as f:
     f.write(str(summary))

you don't need to convert summary to a string because it is already one.

Bye, Andreas

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

Reply via email to