Introdução
Neste laboratório, você aprenderá como verificar se uma lista contém apenas números em Python. Isso envolve a definição de listas numéricas, incluindo listas de inteiros, números de ponto flutuante e números mistos. Você criará um arquivo Python chamado numeric_lists.py e usará o editor VS Code para definir e imprimir essas listas no console.
O laboratório guia você através da definição de listas de inteiros, floats e uma mistura de ambos, demonstrando como criar e imprimir essas listas usando Python. Você usará a função print() para exibir o conteúdo de cada lista, garantindo que você entenda como trabalhar com listas numéricas em Python.
Definir Listas Numéricas
Nesta etapa, você aprenderá como definir listas numéricas em Python. Uma lista é uma coleção de itens e, neste caso, focaremos em listas contendo números. Listas são uma estrutura de dados fundamental em Python e são usadas para armazenar e manipular sequências ordenadas de dados.
Primeiro, vamos criar um novo arquivo Python chamado numeric_lists.py em seu diretório ~/project usando o editor VS Code.
~/project/numeric_lists.py
Agora, abra numeric_lists.py no editor e adicione o seguinte código para definir uma lista de inteiros:
## Define a list of integers
integer_list = [1, 2, 3, 4, 5]
## Print the list to the console
print(integer_list)
Salve o arquivo. Em seguida, abra um terminal no VS Code e navegue até o diretório ~/project. Você já deve estar neste diretório por padrão. Agora, execute o script Python usando o seguinte comando:
python numeric_lists.py
Você deve ver a seguinte saída:
[1, 2, 3, 4, 5]
Agora, vamos definir uma lista de números de ponto flutuante (números decimais):
Modifique o arquivo numeric_lists.py para incluir o seguinte:
## Define a list of floating-point numbers
float_list = [1.0, 2.5, 3.7, 4.2, 5.9]
## Print the list to the console
print(float_list)
Salve o arquivo e execute o script novamente:
python numeric_lists.py
Você deve ver a seguinte saída:
[1.0, 2.5, 3.7, 4.2, 5.9]
Você também pode criar uma lista contendo uma mistura de inteiros e números de ponto flutuante:
Modifique o arquivo numeric_lists.py para incluir o seguinte:
## Define a list of mixed numbers (integers and floats)
mixed_list = [1, 2.0, 3, 4.5, 5]
## Print the list to the console
print(mixed_list)
Salve o arquivo e execute o script novamente:
python numeric_lists.py
Você deve ver a seguinte saída:
[1, 2.0, 3, 4.5, 5]
Parabéns! Você definiu e imprimiu com sucesso listas numéricas em Python. Este é um passo fundamental para trabalhar com dados numéricos em Python.
Usar all() com isinstance()
Nesta etapa, você aprenderá como usar a função all() em combinação com a função isinstance() para verificar se todos os elementos em uma lista são de um tipo numérico específico. Esta é uma técnica útil para validar dados e garantir que seu código se comporte conforme o esperado.
A função all() retorna True se todos os elementos em um iterável (como uma lista) forem verdadeiros. A função isinstance() verifica se um objeto é uma instância de uma classe ou tipo especificado.
Vamos modificar o arquivo numeric_lists.py que você criou na etapa anterior para incluir o seguinte código:
def check_if_all_numeric(data):
"""
Check if all elements in the list are either integers or floats.
"""
return all(isinstance(item, (int, float)) for item in data)
## Test cases
integer_list = [1, 2, 3, 4, 5]
float_list = [1.0, 2.5, 3.7, 4.2, 5.9]
mixed_list = [1, 2.0, 3, 4.5, 5]
string_list = [1, 2, "hello", 4.5, 5]
print(f"Integer list is all numeric: {check_if_all_numeric(integer_list)}")
print(f"Float list is all numeric: {check_if_all_numeric(float_list)}")
print(f"Mixed list is all numeric: {check_if_all_numeric(mixed_list)}")
print(f"String list is all numeric: {check_if_all_numeric(string_list)}")
Aqui está uma análise do código:
- Definimos uma função
check_if_all_numeric(data)que recebe uma lista como entrada. - Dentro da função, usamos
all()com uma expressão geradora(isinstance(item, (int, float)) for item in data). - A expressão geradora itera por cada
itemna listadatae verifica se é uma instância deintoufloatusandoisinstance(). all()retornaTruesomente se todos os itens na lista forem inteiros ou floats; caso contrário, retornaFalse.- Em seguida, testamos a função com diferentes listas e imprimimos os resultados.
Salve o arquivo numeric_lists.py e execute-o a partir do terminal:
python numeric_lists.py
Você deve ver a seguinte saída:
Integer list is all numeric: True
Float list is all numeric: True
Mixed list is all numeric: True
String list is all numeric: False
Esta saída mostra que a função check_if_all_numeric() identifica corretamente se todos os elementos em uma lista são numéricos. A lista de strings contém uma string, então a função retorna False.
Lidar com Listas Vazias
Nesta etapa, você aprenderá como lidar com listas vazias ao usar as funções all() e isinstance(). Uma lista vazia é uma lista que não contém elementos. É importante lidar com listas vazias corretamente para evitar comportamentos inesperados em seu código.
Vamos modificar o arquivo numeric_lists.py que você criou nas etapas anteriores para incluir uma verificação de listas vazias na função check_if_all_numeric():
def check_if_all_numeric(data):
"""
Check if all elements in the list are either integers or floats.
Handle empty lists gracefully.
"""
if not data:
return True ## An empty list can be considered as all numeric
return all(isinstance(item, (int, float)) for item in data)
## Test cases
integer_list = [1, 2, 3, 4, 5]
float_list = [1.0, 2.5, 3.7, 4.2, 5.9]
mixed_list = [1, 2.0, 3, 4.5, 5]
string_list = [1, 2, "hello", 4.5, 5]
empty_list = []
print(f"Integer list is all numeric: {check_if_all_numeric(integer_list)}")
print(f"Float list is all numeric: {check_if_all_numeric(float_list)}")
print(f"Mixed list is all numeric: {check_if_all_numeric(mixed_list)}")
print(f"String list is all numeric: {check_if_all_numeric(string_list)}")
print(f"Empty list is all numeric: {check_if_all_numeric(empty_list)}")
Aqui está o que mudamos:
- Adicionamos uma verificação no início da função
check_if_all_numeric():if not data:. Isso verifica se a lista está vazia. - Se a lista estiver vazia, retornamos
True. Isso ocorre porque uma lista vazia pode ser considerada como satisfazendo a condição de que todos os seus elementos são numéricos (já que não possui elementos que não sejam numéricos). - Adicionamos um caso de teste
empty_list.
Salve o arquivo numeric_lists.py e execute-o a partir do terminal:
python numeric_lists.py
Você deve ver a seguinte saída:
Integer list is all numeric: True
Float list is all numeric: True
Mixed list is all numeric: True
String list is all numeric: False
Empty list is all numeric: True
Como você pode ver, a função check_if_all_numeric() agora lida corretamente com listas vazias e retorna True para elas. Isso torna seu código mais robusto e menos propenso a erros ao lidar com listas potencialmente vazias.
Resumo
Neste laboratório, a etapa inicial se concentra na definição de listas numéricas em Python, abrangendo listas de inteiros, números de ponto flutuante e tipos numéricos mistos. O processo envolve a criação de um arquivo Python, numeric_lists.py, e o preenchimento com definições de lista usando colchetes e valores separados por vírgulas. A função print() é então usada para exibir essas listas no console, demonstrando como criar e gerar várias listas numéricas.
O laboratório enfatiza a estrutura de dados fundamental de listas em Python e sua capacidade de armazenar sequências ordenadas de dados numéricos. Ao definir e imprimir diferentes tipos de listas numéricas, incluindo inteiros, floats e uma combinação de ambos, o laboratório fornece uma introdução prática ao trabalho com dados numéricos dentro de listas Python.



