Para isso, o método
sort() é muito simples e direto:>>> lista = ['bbb', 'yyy', 'mmm', 'aaa', 'www', 'ddd'] >>> lista.sort() >>> print lista ['aaa', 'bbb', 'ddd', 'mmm', 'www', 'yyy'] >>>
Agora imagine que você queira ordenar sua lista pelo tamanho (
len()) dos itens:>>> lista = ['aaaa', 'z', 'bbbbbbbbbb', 'nnn'] >>> def por_tamanho(item): ... return len(item) ... >>> sorted(lista, key=por_tamanho) ['z', 'nnn', 'aaaa', 'bbbbbbbbbb'] >>>
É importante notar que
lista.sort() modifica a lista e sorted() retorna uma nova lista classificada.Para explorar mais o assunto, leia o manual e esse HowTo Sorting.
E para embaralhar uma lista, como fazer?
Considerando a lista usada no 1º exemplo, faça assim:
>>> import random >>> random.shuffle(lista) >>> print lista ['ddd', 'aaa', 'mmm', 'yyy', 'bbb', 'www']
Se quiser, pode usar uma função lambda para ficar mais sucinto:
ResponderExcluirsorted(lista, key=lambda x: len(x))
Blog muito interessante, adorei! Coloquei você na minha lista de blogs, ok? Meu blog é www.aprendajava.com . Abraços!
ResponderExcluirGostei da dica para embaralhar uma lista! Muito bom o blog.
ResponderExcluirNotei agora que para classificar a lista pelo tamanho de cada item, bastaria fazer assim: sorted(lista, key=len)
ResponderExcluir