Manipular dados da lista

Concluído

Talvez seja necessário trabalhar com diferentes partes de uma lista. Por exemplo, suponha que você tenha uma lista com quantidades de chuva para vários meses. Para analisar adequadamente esse tipo de dados, talvez seja necessário procurar chuvas em um período de três meses. Ou você pode querer classificar a lista em ordem de maior precipitação para menos.

Python fornece suporte robusto para trabalhar com os dados em listas. Esse suporte inclui fatiamento de dados (examinando apenas uma parte) e classificação.

Listas de fatias

Você pode recuperar uma parte de uma lista usando uma fatia. Uma fatia usa colchetes, mas em vez de um único item, tem os índices inicial e final. Ao usar uma fatia, você cria uma nova lista que começa no índice inicial e que termina antes (e não inclui) o índice final.

A lista de planetas tem oito itens. A Terra é a terceira da lista. Para obter os planetas antes da Terra, use uma fatia para obter itens começando em 0 e terminando em 2:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets_before_earth = planets[0:2]
print(planets_before_earth)

Saída: ['Mercury', 'Venus']

Observe como a Terra não está incluída na lista. A razão é que o índice termina antes do índice final.

Para obter todos os planetas depois da Terra, comece no terceiro e vá para o oitavo:

planets_after_earth = planets[3:8]
print(planets_after_earth) 

Saída: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

No exemplo, Netuno é exibido. A razão é que o índice para Netuno é 7, porque a indexação começa em 0. Como o índice final era 8, ele inclui o último valor. Se você não colocar o índice de parada na fatia, o Python assumirá que você deseja ir para o final da lista:

planets_after_earth = planets[3:]
print(planets_after_earth)

Saída: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

Importante

Uma fatia cria uma nova lista. Ele não modifica a lista atual.

Listas de adesão

Você já viu como pode usar fatias para dividir listas, mas que tal juntá-las novamente?

Para unir duas listas, use o outro operador (+) com duas listas para retornar uma nova lista.

Existem 79 luas conhecidas de Júpiter. Os quatro maiores são Io, Europa, Ganimedes e Calisto. Estas luas são chamadas de luas galileanas, porque Galileu Galilei as descobriu usando seu telescópio em 1610. Mais próximo de Júpiter do que o grupo galileano está o grupo de Amalteia. Consiste nas luas Métis, Adrastea, Amalteia e Teba.

Crie duas listas. Preencha a primeira lista com as quatro luas de Amalteia e a segunda lista com as quatro luas galileanas. Junte-os usando + para criar uma nova lista:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Saída: The regular satellite moons of Jupiter are ['Metis', 'Adrastea', 'Amalthea', 'Thebe', 'Io', 'Europa', 'Ganymede', 'Callisto']

Importante

Juntar-se a listas cria uma nova lista. Ele não modifica a lista atual.

Ordenar listas

Para classificar uma lista, use o .sort() método na lista. Python classifica uma lista de cadeias de caracteres em ordem alfabética e uma lista de números em ordem numérica:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort()
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Saída: The regular satellite moons of Jupiter are ['Adrastea', 'Amalthea', 'Callisto', 'Europa', 'Ganymede', 'Io', 'Metis', 'Thebe']

Para classificar uma lista na ordem inversa, chame .sort(reverse=True) a lista:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort(reverse=True)
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Saída: The regular satellite moons of Jupiter are ['Thebe', 'Metis', 'Io', 'Ganymede', 'Europa', 'Callisto', 'Amalthea', 'Adrastea']

Importante

O uso sort modifica a lista atual.