On 2011-12-23 12:02, lina wrote:
for i in range(len(result)):
for j in range(len(result[i])):
print(result[i][j])
still have a little problem about print out,
I wish to get like
a a
b b
c c
which will show in the same line,
not as
a
b
c
a
b
c
So you wish to print all the first elements from your sublists on the
first line, all the second elements on the second line, and so on, right?
Python 3.2 (r32:88445, Mar 25 2011, 19:28:28)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> result = [["a1", "b1", "c1"],["a2", "b2", "c2"],["a3", "b3", "c3"]]
>>> for i in zip(*result):
... print(" ".join(i))
...
a1 a2 a3
b1 b2 b3
c1 c2 c3
Explanation:
"zip()" takes an arbitrary number of iterables and "returns an iterator
of tuples, where the i-th tuple contains the i-th element from each of
the argument sequences or iterables." (see the docs on
http://docs.python.org/py3k/library/functions.html#zip):
>>> print(list(zip([1, 2, 3], [4, 5, 6])))
[(1, 4), (2, 5), (3, 6)]
In your case, you would have to call "zip()" with
zip(result[0], result[1], result[2], ... result[x])
depending on how many files you process.
But using the *-operator you can unpack "result" (which is a list of
sublists), so that "zip" will see all the sublists as separate
arguments. See also
http://docs.python.org/py3k/tutorial/controlflow.html#unpacking-argument-lists
For printing you just join all the elements of one tuple to a string.
HTH, Andreas
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor