On Mon, 24 Dec 2007 04:30:50 -0800, Vaurdan wrote:

> Hello,
> I've this code:
> def print_tabela(tabela):
>       print "Tabela 1 | Tabela 2"
>       for linha in tabela:
>                       tmp = linha.split(":")
>                       print tmp[0] + " | " + tmp[1],
> 
> But give me this error:
> Tabela 1 | Tabela 2
> Traceback (most recent call last):
>   File "./teste.py", line 126, in <module>
>     print_tabela(conteudo)
>   File "./teste.py", line 58, in print_tabela
>     print tmp[0] + " | " + tmp[1],
> IndexError: list index out of range


You've asked for items 0 and 1 of the list tmp. One of those indexes is 
out of range. That most likely means you have a line with no ":" in it, 
so tmp only has one item, not two.

You can see that for yourself by putting a line "print tmp" just after 
the split().

You might also like to consider doing this:


def print_tabela(tabela):
    print "Tabela 1 | Tabela 2"
    for linha in tabela:
        print linha.replace(":", " | ")



Hope this helps,



-- 
Steven
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to