Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida de Iniciante - Fazer uma tabela a partir de uma lista de listas


dottoriedu

Pergunta

'''Exibição de tabela
Crie uma função chamada printTable() que receba uma lista de listas de
strings e a exiba em uma tabela bem organizada, com cada coluna justificada
à direita. Suponha que todas as listas internas contenham o mesmo número de
strings. Por exemplo, o valor poderá ter o seguinte aspecto:
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
Sua função printTable() exibirá o seguinte:
apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
Dica: seu código inicialmente deverá localizar a string mais longa em cada
uma das listas internas para que a coluna toda tenha largura suficiente para
que todas as strings possam ser inseridas. Você pode armazenar a largura
máxima de cada coluna como uma lista de inteiros. A função printTable()
pode começar com colWidths = [0] * len(tableData), que criará uma lista
contendo o mesmo número de valores 0 que o número de listas internas em
tableData. Dessa maneira, colWidths[0] poderá armazenar a largura da string
mais longa de tableData[0], colWidths[1] poderá armazenar a largura da
string mais longa de tableData[1] e assim por diante. Você poderá então
identificar o maior valor na lista colWidths e descobrir a largura na forma de
um inteiro a ser passada para o método de string rjust(). '''

 

tableData = [['apples', 'oranges', 'cherries', 'banana'],
            ['Alice', 'Bob', 'Carol', 'David'],
            ['dogs', 'cats', 'mooose', 'goose']]

def printTable(listas, rightWidth):
    tamanho_palavras = []
    colWidths = []    
    colWidths = [0]*len(listas)
    for lista in listas:
        for palavra in lista:
            tamanho_palavras.append(len(palavra))
            for i in range(0, len(lista)-1):
                colWidths[i] = max(tamanho_palavras)
            
    return colWidths


print(printTable(tableData, 8))    

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...