Jump to content
Fórum Script Brasil
  • 0

Manipulação de Lista


Paulo Ceccon

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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.

Edited by Paulo Ceccon
Link to comment
Share on other 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 to comment
Share on other 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 )])
Edited by Paulo Ceccon
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...