Jump to content

[Resolvido] Ordenar dados na lista (de trás para frente)


MacgyverPT

Recommended Posts

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

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

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
×
×
  • 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.