MacgyverPT Posted June 10, 2008 at 10:11 AM Report Share #190428 Posted June 10, 2008 at 10:11 AM Boas pessoal, Neste dias como tenho andado sem nada para fazer, decidi agarrar no Python e ver como era esta linguagem de programaçao, já que todos dizem que é X, Y e Z mas nada como ver com os "próprios olhos" e tirar as suas conclusões... Então a minha dúvida é a seguinte: Estava aqui a fazer um simples programa e há medida que o programa vai "andando" vou guardando os resultados numa lista, o meu problema é como ordenar os dados do último para o primeiro... Imaginando isto como resultado: lista=[2, 5, 10, 7] Eu queria colocar a lista da seguinte ordem: lista=[7. 10, 5, 2] Já andei às voltas, já pesquisei no nosso amigo Google e não achei a solução para isto (devo ter feiro mal a pesquisa 😞 )... E como tal, vinha aqui pedir a vossa ajuda. Cump, M.offspring.R Link to comment Share on other sites More sharing options...
Rui Carlos Posted June 10, 2008 at 10:33 AM Report Share #190429 Posted June 10, 2008 at 10:33 AM http://www.java2s.com/Code/Python/List/ListreverseReversetheelementsofthelistinplace.htm Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
pedrosorio Posted June 10, 2008 at 10:42 AM Report Share #190430 Posted June 10, 2008 at 10:42 AM Dando uma vista de olhos rápida ao manual (ao tutorial mais especificamente) aqui está uma maneira "porca" de o fazer: b=[] for x in a: b[:0]=[x] a=b Ou então usar funções já definidas para as listas... 😞 Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
MacgyverPT Posted June 10, 2008 at 10:49 AM Author Report Share #190431 Posted June 10, 2008 at 10:49 AM Obrigado pelas respostas. Vou dar uma vista de olhos e já digo o resultado... Link to comment Share on other sites More sharing options...
Betovsky Posted June 10, 2008 at 10:51 AM Report Share #190432 Posted June 10, 2008 at 10:51 AM a = [1,2,3,4] a = a[::-1] "Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !" Sign on a computer system consultant's desk Link to comment Share on other sites More sharing options...
pedrosorio Posted June 10, 2008 at 11:03 AM Report Share #190433 Posted June 10, 2008 at 11:03 AM Como é que funcionam os :: Betovsky? Acho que já percebi, [::n] devolve todos os elementos da lista de n em n, se for negativo começa a contar do fim. Não respondo a dúvidas por mensagem. Link to comment Share on other sites More sharing options...
fnds Posted June 10, 2008 at 11:26 AM Report Share #190435 Posted June 10, 2008 at 11:26 AM Como é que funcionam os :: Betovsky? Acho que já percebi, [::n] devolve todos os elementos da lista de n em n, se for negativo começa a contar do fim. Exacto... Link to comment Share on other sites More sharing options...
JoaoRodrigues Posted June 10, 2008 at 12:48 PM Report Share #190459 Posted June 10, 2008 at 12:48 PM Tens também o: list.reverse() 😞 Link to comment Share on other sites More sharing options...
djthyrax Posted June 10, 2008 at 01:03 PM Report Share #190463 Posted June 10, 2008 at 01:03 PM O que o Betovsky usou chama-se slicing, e funciona para qualquer elemento iterável. var[inicio do corte:quantos se pode cortar:de quantos em quantos se anda de cada vez] Quando se omite o inicio do corte, ele assume 0. Quando se omite quantos se pode cortar, ele assume len(lista). Quando se omite de quantos em quantos se anda de cada vez, ele assume 1. Quando o valor de quantos em quantos se anda de cada vez é negativo, a lista é percorrida não a partir do 0, mas sim do len(lista)-1. Exemplos: >>> a = [1,2,3,4,5,6,7] >>> a[0] 1 >>> a[0:7] [1, 2, 3, 4, 5, 6, 7] >>> a[0:6] [1, 2, 3, 4, 5, 6] >>> a[0:] [1, 2, 3, 4, 5, 6, 7] >>> a[0:6:] [1, 2, 3, 4, 5, 6] >>> a[0:6:3] [1, 4] >>> a[0:6:2] [1, 3, 5] >>> a[0:6:1] [1, 2, 3, 4, 5, 6] >>> a[:6:1] [1, 2, 3, 4, 5, 6] >>> a[:-1:1] [1, 2, 3, 4, 5, 6] >>> a[::-1] [7, 6, 5, 4, 3, 2, 1] EDIT (JoaoRodrigues): http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=131451 http://wiki.portugal-a-programar.pt/dev_geral:python:slicing 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! Link to comment Share on other sites More sharing options...
MacgyverPT Posted June 10, 2008 at 01:22 PM Author Report Share #190467 Posted June 10, 2008 at 01:22 PM Obrigado pelas respostas. cump. M.offspring.R Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now