Conteúdo do Curso
Introdução ao Python
Introdução ao Python
Tuplas e Métodos de Tupla
Tuplas
Neste capítulo, exploramos as tuplas, outra estrutura de dados fundamental do Python, ideal para lidar com sequências de dados imutáveis (que não podem ser alteradas). As tuplas seriam extremamente úteis em nosso cenário de supermercado.
Por exemplo, pode ser necessário armazenar registros de detalhes de produtos que raramente mudam ou garantir que informações sensíveis, como números de ID
de produtos, permaneçam consistentes e inalteradas durante toda a execução do programa.
Veja como Alex demonstra o uso de tuplas para garantir uma gestão de dados estável no contexto do nosso supermercado:
Fundamentos das Tuplas
As tuplas em Python são uma estrutura de dados básica, porém poderosa, semelhante às listas, mas projetada para imutabilidade.
Veja um resumo de suas principais características:
Criação
Tuplas são criadas ao se colocar valores separados por vírgula entre parênteses ()
(diferente das listas, que são criadas com valores separados por vírgula entre colchetes []
).
Ordenação
Assim como as listas, os elementos de uma tupla mantêm uma ordem específica. Essa ordem é fixa e não pode ser alterada, o que pode ser útil para a integridade dos dados.
Imutabilidade (Inalterabilidade)
Após a criação de uma tupla, seus elementos não podem ser modificados, adicionados ou removidos. Essa imutabilidade torna as tuplas uma escolha confiável para armazenar dados que não devem ser alterados durante o ciclo de vida do programa.
Permissão de Duplicatas
Assim como as listas, as tuplas podem conter múltiplas instâncias do mesmo valor, tornando-as adequadas para armazenar dados repetitivos de forma segura e eficiente. No entanto, geralmente não é comum encontrar duplicatas em tuplas para casos de uso típicos.
Exemplos
Portanto, a principal diferença entre tuplas e listas em Python está na sua mutabilidade. Tuplas são criadas usando parênteses ()
e são imutáveis, ou seja, não podem ser modificadas após a criação.
Vamos analisar isso em mais detalhes.
Considere uma tupla que categoriza diferentes seções em um supermercado — um conjunto de valores que provavelmente não mudará com frequência:
# Define a tuple with grocery store categories grocery_aisles = ("Produce", "Dairy", "Bakery", "Meat", "Frozen Foods") # Display a tuple on the screen print("Grocery Aisles:", grocery_aisles)
Elementos dentro de uma tupla podem ser acessados usando números de índice, de forma semelhante às listas. Essa indexação funciona da mesma maneira que nas listas, permitindo recuperar qualquer item com base em sua posição:
# Define a tuple with multiple data types apple_details = ("apple", 34, True, 1.99, "Fuji") # Get an element of a tuple by its index print("Apple Type:", apple_details[4])
Tuplas podem armazenar qualquer tipo de objeto, assim como listas. Elas também podem incluir objetos mutáveis como listas aninhadas (ou dicionários, que abordaremos mais adiante). Embora as tuplas sejam imutáveis, os objetos mutáveis dentro delas ainda podem ser alterados.
Considere a tupla apple_details
— se for necessário atualizar um estado na lista que contém nomes de estados, isso pode ser feito utilizando indexação de nível 1 e nível 2, assim como ocorre com listas aninhadas.
# Tuple containing various data types and a nested list apple_details = ("apple", 34, True, 1.99, "Fuji", ["Washington", "California", "Michigan"]) print(apple_details) # Updating the mutable python list even while nested in an immutable data type (tuple) apple_details[5][2] = "Pennsylvania" print(apple_details)
Métodos de Tupla
Embora tuplas não suportem métodos que alteram seu conteúdo, elas ainda oferecem alguns métodos internos para ajudar a gerenciá-las e utilizá-las de forma eficiente. Aqui estão dois métodos internos que podem ser usados com tuplas:
count()
: retorna o número de vezes que um valor especificado aparece na tupla;index()
: procura um valor especificado na tupla e retorna a posição do índice onde ele foi encontrado pela primeira vez.
Observação
Os mesmos métodos também podem ser utilizados com listas.
# Example tuple containing a mix of integers and strings fruits = ("apple", "banana", "cherry", "apple", "banana", "cherry", "apple") # Use the `count()` method to determine how many times "apple" appears in the tuple apple_count = fruits.count("apple") print("Number of times 'apple' appears:", apple_count) # Use the `index()` method to find the first occurrence of "cherry" in the tuple cherry_index = fruits.index("cherry") print("The first occurrence of 'cherry' is at index:", cherry_index)
1. Qual será a saída do seguinte código Python?
2. Qual linha de código encontra corretamente a posição do índice da descrição "Baby Spinach"
dentro da tupla spinachDetails
?
Obrigado pelo seu feedback!