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

Manipulação de Lista


Paulo Ceccon

Pergunta

Pessoal, tudo bem?

  Com o meu código estou percorrendo o faturamento de um produto em um pedido de compras, cada valor eu armazeno em uma posição de uma lista:
dados = ['081154', '14,000', 'PORTA', 'DE', 'MADEIRA', 'MACIÇA', 'COM', 'BATENTE', '37,69', '527,66', '0,00', '+', '0,00', '+', '0,00', '7896039718046']

  Preciso colocar a descrição do produto em uma variavel, o ponto inicial da descrição sempre vai ser o mesmo: dados[2] mas como programar para que meu código saiba quando a descrição termina?

Pensei em desenvolver algo para ele identificar quando tiver um "+" na lista e recuar 3 posições a partir dele, mas não sei aplicar isso no código ainda.

dados = ['081154',
'14,000',
'PORTA',
'DE',
'MADEIRA',
'MACIÇA',
'COM',
'BATENTE',
'37,69',
'527,66',
'0,00',
'+',
'0,00',
'+',
'0,00',
'7896039718046']
 
print(dados)

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
lista = [1, 2, 3, 4, 5, 6, 7]
corte1 = 2
corte2 = 5


lista2 = lista[corte1 : corte2]

print(lista2)

isso se chama fatiar(slice)

é feito apartir do index passado, no exemplo esta uma lista de numero, mas os cortes são indices

Link para o comentário
Compartilhar em outros sites

  • 0
3 hours ago, ArteEN said:
lista = [1, 2, 3, 4, 5, 6, 7]
corte1 = 2
corte2 = 5


lista2 = lista[corte1 : corte2]

print(lista2)

isso se chama fatiar(slice)

é feito apartir do index passado, no exemplo esta uma lista de numero, mas os cortes são indices

Isso serviria para esse exemplo, mas o meu código completo pega uma lista com MUITOS produtos, nem todos vão terminar na casa 5. Preciso de um código que realmente entenda quando a descrição do produto termina.

Editado por Paulo Ceccon
Link para o comentário
Compartilhar em outros sites

  • 0

a lista tem um metodo chama .index(valor), que retorna o index do primeiro valor encontrado

lista = [1, 2, 3, 2, 4, 5, 6, 5, 7]
corte1 = lista.index(2)
corte2 = lista.index(5)


lista2 = lista[corte1 : corte2]

print(lista2)

 

Link para o comentário
Compartilhar em outros sites

  • 0
3 hours ago, ArteEN said:

a lista tem um metodo chama .index(valor), que retorna o index do primeiro valor encontrado

lista = [1, 2, 3, 2, 4, 5, 6, 5, 7]
corte1 = lista.index(2)
corte2 = lista.index(5)


lista2 = lista[corte1 : corte2]

print(lista2)

 

Isso resolveu! Muito obrigado! 

print(dados[2: (dados.index("+") - 3) ] )

att: 
'  '.join(dados[2 : (dados.index("+") - 3 )])
Editado por Paulo Ceccon
Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...