A função rand (o nome é uma abreviatura de random) da biblioteca stdlib gera números inteiros aleatórios. Cada invocação da função produz um inteiro aleatório no intervalo fechado 0 .. ... RAND_MAX, ou seja, que cada número do intervalo tem mais ou menos a mesma probabilidade de ser gerado.)
O parâmetro key sort() , sem especificar como queremos que ela seja ordenada, o sort irá ordená-la através de comparações dos endereços de memória dos objetos contidos na lista alunos . Se quisermos que a ordenação se dê por algum dos atributos da classe, devemos especificar isso através do parâmetro key .
index() A função index() retorna o index de determinado elemento. Se você procurar por um item que não existe um erro será lançado. Por tanto, se o seu objetivo é saber se um item pertence a lista utilize o operador de teste de inlclusão in .
3 Respostas. Do ponto de vista técnico em Python uma tupla é imutável e uma lista é mutável. Do ponto de vista conceitual você deveria usar tuplas para montar estruturas de dados heterogêneos enquanto a lista deveria ser usada para dados homogêneos, ou seja, todos seus elementos deveriam ser do mesmo tipo.
Para uma tupla de valor único, devemos sempre colocar uma vírgula ( , ) no final do valor, mesmo com os parênteses, ou o Python não interpretará como tupla. "Ué, mas nós alteramos um valor de nossa tupla sem mudar de objeto! Isso significa que ela não é imutável?"
Tupla é uma Lista imutável. O que diferencia a Estrutura de Dados Lista da Estrutura de Dados Tupla é que a primeira pode ter elementos adicionados a qualquer momento, enquanto que a segunda estrutura, após definida, não permite a adição ou remoção de elementos.