Jump to content
Sign in to follow this  
Mica

retirar da lista

Recommended Posts

Mica

retirar valor da lista, não da lista que tenho criada em txt, mas sim da lista que depois tenho criada no python, ao exemplo

Jogue a sua aposta nº1 :

Benfica x Porto

Académica x Rio Ave

Braga x Beira Mar

após jogar mos, vamos para aposta número nº2:

Jogue a sua aposta nº2 :

Benfica x Porto# esta linha desaparecia... é o que pretendo ^^

Académica x Rio Ave

Braga x Beira Mar

        elif jogar ==2:
            a=0
            while a < 13:
                        pergunta=raw_input("Digite a sua oposta " +str(a+1)+ "º 1 x 2 ")
    
                        while (pergunta!="1" and pergunta!="2" and pergunta!="x"):
                            print "A aposta não é válida"
                            pergunta=raw_input("Digite a sua oposta " +str(a+1)+ "º 1 x 2 ")

                        a+=1
                        lista_num.append(pergunta)
           

            
            print "A sua aposta para o totobola é :\n"
            for i in range(0,len(lista_num),1):#apresentar na vertical
                print lista_num[i]#apresentar na vertical


            a=0

Share this post


Link to post
Share on other sites
Pedro C.

Não sei se percebi bem a tua intenção mas da mesma maneira que podes utilizar o append para acrescentar à lista também podes utilizar o remove para retirar à lista, por exemplo:

>>> a=[1,2,3]

>>> a.remove(1)

>>> a
       [2, 3]

>>> a.remove(3)

>>> a
       [2]

Share this post


Link to post
Share on other sites
Mica

Mas ai teria de ter um remove para cada linha de código, eu queria um geral que retirasse sempre a primeira da lista... a cada passo que eu execute...

Grato :P

Share this post


Link to post
Share on other sites
Pedro C.

Bem para isso podes derivar do comando remove especificando sempre o primeiro da lista:

>>> a=[1,2,3]

>>> a.remove(a[0])

>>> a
    [2, 3]

>>> a.remove(a[0])

>>> a
    [3]

Isto serve?

Share this post


Link to post
Share on other sites
jpedro20

Ou então:

>>> lista = [1,2,3,4,5]

>>> lista
[1, 2, 3, 4, 5]
>>> lista = lista[1:]

>>> lista
[2, 3, 4, 5]

Share this post


Link to post
Share on other sites
Tharis

@jpedro20,

There should be one-- and preferably only one --obvious way to do it.

$ cat test.py

x = range(10**5)

while len(x): x.remove(x[0])

$ cat test2.py

x = range(10**5)

while len(x): x = x[1:]

$ time python test.py

user 0m1.914s

$ time python test2.py

user 0m39.628s

Cumprimentos

Tharis

Share this post


Link to post
Share on other sites
djthyrax

Ou ainda, del array[posicao a remover], caso seja mais prático.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
Mica

Ainda fiquei um bocado confuso :S

x = range(10**5)#principalmente aqui no range..
while len(x): x.remove(x[0])


Explica me essa instrução de código, creio que será a mais apropriada certo?

Share this post


Link to post
Share on other sites
Tharis

@Mica,

# Cria uma lista com elementos de 0 a 100000 seguidos
x = range(10**5)
# Enquanto que a lista tiver elementos vai removendo o primeiro
while len(x): x.remove(x[0])

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.