Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

592
Visualizações
Python - Can Multiple if-condition and append be simplified

If it is possible to simplify the following code.

c0, c1, c2, c3, c4, c5, c6, c7, c8, c9 = ([] for _ in range(10))
  
  for i in dataset:
    if i[1] == 0:
      c0.append(i)
    elif i[1] == 1:
      c1.append(i)
    elif i[1] == 2:
      c2.append(i)
    elif i[1] == 3:
      c3.append(i)
    elif i[1] == 4:
      c4.append(i)
    elif i[1] == 5:
      c5.append(i)
    elif i[1] == 6:
      c6.append(i)
    elif i[1] == 7:
      c7.append(i)
    elif i[1] == 8:
      c8.append(i)
    else:
      c9.append(i)

Trying to divide the whole dataset into class-wise multiple datasets. Code below is just for example which has only 10 classes, but the dataset I'm working on has massive numbers of classes, so need to simplify as possible.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Better with a list:

lsts = [c0, c1, c2, c3, c4, c5, c6, c7, c8]
for i in dataset:
    if i[1] < len(lsts):
        lsts[i[1]].append(i)
    else:
        c9.append(i)

And the lists will contain what you want :)

over 4 years ago · Santiago Trujillo Relatório

0

How about like this?

Use dictionary instead of nested lists like c0, c1, c2

c = {x:[] for x in range(10)}
  
for i in dataset:
    c[i[1]].append(i)

If you want to append other items in the dataset to the c9 as like you mentioned in your question, then

for i in dataset:
    if 0 <= i[1] <= 8:
        c[i[1]].append(i)
    else:
        c[9].append(i)
over 4 years ago · Santiago Trujillo Relatório

0

you can use it.

# if you need cX as var
c0, c1, c2, c3, c4, c5, c6, c7, c8, c9 = ([] for _ in range(10))
database = {0: c0,
            1: c1,
            2: c2,
            ...,
            9: c9}

# else
database = {i: [] for i in range(10)}

for i in dataset:
    if i[1] in dataset:
        database[i].append(i)
    else:
        database[9].append(i)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda