Ir ao conteúdo

Posts recomendados

Postado

Uma lista com 20 valores aleatorios, mas tenho q msotrar sem valores repetidos, estou usando o pop errado?

 

import random
lista = []
listadedelete = []
for _ in range(20):
    lista.append(random.randint(0, 15))

lista.sort()
print(f'Lista completa: {lista}')

for indice, num in enumerate(lista):
    teste = lista.count(num)
    if teste >= 2:
        listadedelete.append(indice)

for x in listadedelete:
    lista.pop(x)

lista.sort()
print(f'Lista sem valores repetidos: {lista}')

Postado

@ProgramadorInsano O método pop deve receber como argumento a posição do item e não o valor. Se quiser remover dessa forma primeiro verifique se o número ainda existe na lista e depois passe o valor para index,

 

for x in listadedelete:
    if x in lista:
        lista.pop(lista.index(x))

 

E para remover todos os valores repetidos com esse método,

for x in listadedelete:
    while lista.count(x) > 1:
        lista.pop(lista.index(x))

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!