Operações Avançadas com Listas: Ordenação, Consulta e Aninhamento
Nesta etapa final, você explorará operações de lista mais avançadas, incluindo ordenação, consulta de informações e trabalho com listas aninhadas (nested lists).
Vamos começar com a ordenação. O método sort() modifica a lista no local (in-place). Você pode ordenar em ordem crescente ou decrescente.
Abra o arquivo list_operations.py no WebIDE. Adicione o seguinte código para demonstrar a ordenação:
## --- Sorting Lists ---
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
print("--- Sorting Lists ---")
print("Original numbers list:", numbers)
## Sort the list in-place (ascending)
numbers.sort()
print("After sort():", numbers)
## Sort the list in descending order
numbers.sort(reverse=True)
print("After sort(reverse=True):", numbers)
## The reverse() method simply reverses the order, it does not sort
letters = ['a', 'b', 'c', 'd']
print("\nOriginal letters list:", letters)
letters.reverse()
print("After reverse():", letters)
Salve o arquivo e execute-o a partir do terminal:
python ~/project/list_operations.py
A saída mostra as listas ordenadas e invertidas:
--- Sorting Lists ---
Original numbers list: [3, 1, 4, 1, 5, 9, 2, 6]
After sort(): [1, 1, 2, 3, 4, 5, 6, 9]
After sort(reverse=True): [9, 6, 5, 4, 3, 2, 1, 1]
Original letters list: ['a', 'b', 'c', 'd']
After reverse(): ['d', 'c', 'b', 'a']
Em seguida, vamos consultar uma lista para encontrar informações.
count(): Retorna o número de vezes que um valor aparece.
index(): Retorna o índice da primeira ocorrência de um valor.
Adicione o seguinte código a list_operations.py:
## --- Querying Lists ---
fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
print("\n--- Querying Lists ---")
print("Fruits list:", fruits)
## Count the occurrences of an element
apple_count = fruits.count('apple')
print("Count of 'apple':", apple_count)
## Find the index of the first occurrence of an element
banana_index = fruits.index('banana')
print("Index of first 'banana':", banana_index)
Finalmente, vamos ver as listas aninhadas (nested lists). Uma lista aninhada é uma lista que contém outras listas como seus elementos. Isso é útil para criar estruturas 2D como uma matriz ou uma grade.
Adicione este bloco final de código a list_operations.py:
## --- Nested Lists ---
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print("\n--- Nested Lists ---")
print("Matrix:", matrix)
## Access an entire inner list (a row)
first_row = matrix[0]
print("First row:", first_row)
## Access a specific element in the nested list
## To get the element '6', we access row 1, then column 2
element = matrix[1][2]
print("Element at matrix[1][2]:", element)
Salve o arquivo e execute o script pela última vez:
python ~/project/list_operations.py
A saída completa demonstrará ordenação, consulta e acesso a listas aninhadas:
--- Sorting Lists ---
Original numbers list: [3, 1, 4, 1, 5, 9, 2, 6]
After sort(): [1, 1, 2, 3, 4, 5, 6, 9]
After sort(reverse=True): [9, 6, 5, 4, 3, 2, 1, 1]
Original letters list: ['a', 'b', 'c', 'd']
After reverse(): ['d', 'c', 'b', 'a']
--- Querying Lists ---
Fruits list: ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
Count of 'apple': 2
Index of first 'banana': 3
--- Nested Lists ---
Matrix: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
First row: [1, 2, 3]
Element at matrix[1][2]: 6
Você dominou agora várias técnicas avançadas para trabalhar com listas Python.