Login
Login

Como obter o tamanho de uma lista em Python

Como obter o tamanho de uma lista em Python
Hostman Team
Redator técnico
Programação Python
04.12.2025
Reading time: 3 min

Listas em Python são usadas praticamente em toda parte. Neste tutorial veremos quatro maneiras de descobrir o tamanho de uma lista em Python: usando funções internas, recursão e um loop. Saber o tamanho de uma lista geralmente é necessário para percorrê-la e realizar várias operações.

Função len()

len() é uma função interna do Python para descobrir o tamanho de uma lista. Ela recebe um único argumento — a própria lista — e retorna um número inteiro igual ao seu tamanho. A mesma função também funciona com outros objetos iteráveis, como strings.

Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"]
count = len(Country_list)

print("There are", count, "countries")

Saída:

There are 4 countries

Obtendo o tamanho de uma lista com um loop

Você pode determinar o tamanho de uma lista em Python usando um loop for. A ideia é percorrer toda a lista enquanto incrementa um contador em 1 a cada iteração. Vamos colocar isso em uma função separada:

def list_length(list):
    counter = 0
    for i in list:
        counter = counter + 1
    return counter

Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"]
count = list_length(Country_list)

print("There are", count, "countries")

Saída:

There are 5 countries

Obtendo o tamanho de uma lista com recursão

A mesma tarefa pode ser resolvida com recursão:

def list_length_recursive(list):
    if not list:
        return 0
    return 1 + list_length_recursive(list[1:])

Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"]
count = list_length_recursive(Country_list)

print("There are", count, "countries")

Saída:

There are 6 countries

Como funciona. A função list_length_recursive() recebe uma lista como entrada.

  • Se a lista estiver vazia, ela retorna 0 — o tamanho de uma lista vazia.

  • Caso contrário, ela chama a si mesma recursivamente com o argumento list[1:], um fatia da lista original a partir do índice 1 (ou seja, a lista sem o elemento no índice 0). O resultado dessa chamada é somado a 1. A cada passo recursivo o valor retornado aumenta em um enquanto a lista diminui em um elemento.

Função length_hint()

A função length_hint() está localizada no módulo operator. Esse módulo contém funções análogas aos operadores internos do Python: adição, subtração, comparação e outros. length_hint() retorna o tamanho de objetos iteráveis como strings, tuplas, dicionários e listas. Ela funciona de maneira semelhante a len():

from operator import length_hint

Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)

print("There are", count, "countries")

Saída:

There are 7 countries

Observe que length_hint() precisa ser importada antes do uso.

Conclusão

Neste guia abordamos quatro maneiras de determinar o tamanho de uma lista em Python. Em condições iguais, o método mais eficiente é len(). As outras abordagens são justificadas principalmente quando você está implementando classes personalizadas semelhantes a listas.

Programação Python
04.12.2025
Reading time: 3 min

Semelhante

Rede

Entendendo as solicitações HTTP: estrutura, métodos e exemplos

HTTP é a chave para a comunicação na internet. Os métodos do protocolo HTTP permitem que clientes enviem solicitações aos servidores e que os servidores retornem respostas. Todos os sites da World Wide Web utilizam solicitações HTTP, portanto é fundamental entendê-las. Este artigo explora o conceito de solicitações HTTP, sua estrutura, métodos comuns e exemplos práticos — ajudando você a compreender como a web funciona. O que é uma solicitação HTTP? Uma solicitação HTTP é uma mensagem em que um cliente — como um navegador — solicita ao host em um servidor um recurso específico. Os clientes usam URLs nas solicitações HTTP para indicar quais recursos desejam acessar. Componentes de uma solicitação HTTP Cada solicitação HTTP é composta por três partes: Request Line (linha de solicitação) Headers (cabeçalhos) Message Body (corpo da mensagem) Request Line A request line é a primeira linha de uma solicitação HTTP. Ela inicia uma ação no servidor. Indica o método HTTP e a versão do protocolo utilizada. Além disso, inclui uma URI ou URL. Exemplo de Request Line: GET /index.html HTTP/1.1 Headers Os cabeçalhos vêm logo após a request line e fornecem informações adicionais do cliente ao servidor. Eles incluem dados como host, user agent, preferências de idioma, codificação e muito mais. O servidor usa essas informações para identificar o navegador e o sistema operacional do cliente. Os headers HTTP são case-sensitive e possuem o formato Nome: Valor. Exemplo de cabeçalhos HTTP: Host: example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Accept: application/json, text/plain, */* Accept-Language: en-US,en;q=0.9 Accept-Encoding: gzip, deflate, br Connection: keep-alive Message Body O corpo da mensagem é usado para enviar dados ao servidor. Ele é opcional — nem todas as solicitações HTTP o possuem. Requests com corpo de mensagem geralmente usam POST. O servidor usa o body para processar os dados enviados. Métodos HTTP mais comuns Uma solicitação HTTP conecta um cliente ao servidor por diferentes razões: recuperar um recurso enviar dados atualizar informações excluir recursos Aqui estão os métodos mais usados: GET – Recuperar recursos O método GET solicita dados ao servidor. Sempre que um usuário acessa uma página, o navegador faz uma solicitação GET para obter seu conteúdo. Características do GET: cacheável seguro (safe) idempotente GET apenas lê dados e não altera nada no servidor. POST – Enviar dados POST é utilizado quando o cliente precisa enviar informações ao servidor — formulários, uploads, etc. O body contém os dados enviados. Múltiplas solicitações POST idênticas podem criar vários recursos no servidor. PUT – Atualizar recursos PUT também envia dados, mas serve para substituir informações existentes. Diferença: POST = cria PUT = atualiza PUT é idempotente — várias solicitações iguais resultam no mesmo estado. DELETE – Excluir recursos DELETE instrui o servidor a remover um recurso específico. Se o recurso for excluído com sucesso, o servidor retorna uma confirmação. DELETE também é idempotente. O que é uma resposta HTTP? Ao responder uma solicitação HTTP, o servidor envia uma HTTP response. Assim como uma solicitação, ela possui três partes: Status Line Headers Body Status Line Mostra: versão HTTP código de status mensagem associada Headers Podem incluir: data e hora tipo de conteúdo (Content-Type) detalhes do servidor políticas de cache Body É o conteúdo real retornado ao cliente: HTML JSON XML imagens arquivos Códigos de status e seus significados Os códigos de status HTTP mostram o resultado de uma solicitação. Eles têm três dígitos — o primeiro indica a categoria: Grupo Descrição 1xx Informacional — processamento continua 2xx Sucesso — solicitação concluída 3xx Redirecionamento — ação adicional necessária 4xx Erro do cliente — problema na solicitação 5xx Erro do servidor — falha ao processar Cabeçalhos HTTP e sua importância Headers fornecem informações essenciais para a comunicação entre cliente e servidor. Identificação do host Indicam qual domínio o servidor está atendendo. Cache Headers como Cache-Control e Expires controlam por quanto tempo o conteúdo deve ser armazenado. Gerenciamento de cookies Set-Cookie e Cookie gerenciam sessões e estados do usuário. Segurança Exemplos importantes: Authorization — autenticação Content-Security-Policy — proteção contra XSS Controle da resposta Headers informam se a solicitação teve sucesso ou falhou. Exemplos práticos de solicitações HTTP Todos os exemplos usam Python com a biblioteca requests. GET import requests response = requests.get("https://api.example.com/data",                         params={"param1": "value1", "param2": "value2"}) print(response.status_code) print(response.json()) POST import requests url = "https://api.example.com/users" data = {     "username": "newuser",     "email": "newuser@example.com",     "password": "securepassword" } response = requests.post(url, json=data) if response.status_code == 201:     print("User created successfully:", response.json()) else:     print("Error:", response.status_code, response.text) PUT import requests url = "https://api.example.com/users/123" data = {     "username": "updateduser",     "email": "updateduser@example.com" } response = requests.put(url, json=data) if response.status_code == 200:     print("User updated successfully:", response.json()) else:     print("Error:", response.status_code, response.text) DELETE import requests url = "https://api.example.com/users/123" response = requests.delete(url) if response.status_code == 204:     print("User deleted successfully.") else:     print("Error:", response.status_code, response.text) Conclusão As solicitações HTTP desempenham um papel crítico nas interações da web. Portanto, é essencial entender os diferentes métodos e como eles funcionam. Escolher o método certo garante uma comunicação fluida entre cliente e servidor e melhora a eficiência das aplicações web.
01 December 2025 · 6 min to read
Programação Python

Opções de linha de comando e análise de argumentos com argparse em Python

Interfaces de linha de comando (CLIs) são uma das maneiras mais rápidas e eficazes de interagir com softwares. Elas permitem que você execute comandos diretamente, resultando em processamento mais rápido e recursos avançados. Desenvolvedores frequentemente criam CLIs em Python para diversas aplicações, utilitários e scripts de automação — permitindo processar dinamicamente a entrada do usuário. É aqui que entra o módulo argparse do Python. O módulo argparse simplifica o processamento de argumentos da linha de comando, permitindo que desenvolvedores criem ferramentas interativas e fáceis de usar. Como parte da biblioteca padrão, ele permite definir, processar e validar entradas sem a necessidade de uma lógica complexa. Neste artigo, abordaremos os conceitos principais, exemplos úteis e recursos avançados do módulo argparse, para que você possa começar a construir ferramentas de linha de comando robustas imediatamente. Como usar argparse em Python para interfaces de linha de comando Passo 1: Importar o módulo Importe o módulo no seu script Python: import argparse Isso habilita o parsing de argumentos .py a partir da linha de comando. Passo 2: Criar um objeto ArgumentParser A classe ArgumentParser é a classe principal da API do módulo argparse. Para usá-la, comece criando uma instância: parser = argparse.ArgumentParser(description="A Hostman tutorial on Python argparse.") Aqui: description descreve a função do programa e será exibida quando alguém executar --help. Passo 3: Adicionar entradas e opções Defina os parâmetros que seu programa aceitará usando add_argument(): parser.add_argument('filename', type=str, help="Name of the file to process") parser.add_argument('--verbose', action='store_true', help="Enable verbose mode") Explicação: filename é obrigatório. --verbose é opcional e ativa o modo verboso. Passo 4: Fazer o parsing da entrada do usuário Use parse_args() para processar os argumentos fornecidos: args = parser.parse_args() Isso armazena os valores como atributos do objeto args. Passo 5: Acessar os dados processados Exemplo: print(f"File to process: {args.filename}") if args.verbose:     print("Verbose mode enabled") else:     print("Verbose mode disabled") Exemplos de uso do CLI Processamento de arquivo sem modo verboso python3 file.py example.txt Processamento de arquivo com modo verboso python3 file.py example.txt --verbose Exibir ajuda python3 file.py --help Exemplos comuns do uso de argparse Exemplo 1: Adicionar valores padrão Em alguns casos, argumentos opcionais precisam de valores pré-definidos. Neste exemplo, --timeout recebe um valor padrão de 30 segundos: import argparse parser = argparse.ArgumentParser(description="Demonstrating default argument values.") parser.add_argument('--timeout', type=int, default=30, help="Timeout in seconds (default: 30)") args = parser.parse_args() print(f"Timeout value: {args.timeout} seconds") Explicação Importação do módulo Criação do ArgumentParser Adição do argumento --timeout com valor padrão Parsing com parse_args() Caso 1: valor padrão usado python file.py Caso 2: valor personalizado python file.py --timeout 60 Exemplo 2: Utilizando choices O parâmetro choices permite restringir um argumento a um conjunto de valores válidos: parser.add_argument('--mode', choices=['basic', 'advanced'], help="Choose the mode of operation") Caso 1: valor válido python3 file.py --mode basic Caso 2: sem entrada python3 file.py Caso 3: valor inválido python3 file.py --mode intermediate Exemplo 3: Manipulando múltiplos valores Use nargs='+' para permitir múltiplos valores em um único argumento: parser.add_argument('--numbers', nargs='+', type=int, help="List of numbers to process") Caso 1: múltiplos números python3 file.py --numbers 10 20 30 Caso 2: um número python3 file.py --numbers 5 Caso 3: sem entrada python3 file.py Caso 4: entrada inválida python3 file.py --numbers 10 abc 20 Exemplo 4: Argumentos opcionais obrigatórios Embora argumentos com -- sejam opcionais por padrão, você pode torná-los obrigatórios com required=True: parser.add_argument('--config', required=True, help="Path to the configuration file") Caso 1: entrada válida python3 file.py --config settings.json Caso 2: argumento obrigatório ausente python3 file.py Recursos avançados Flags booleanas parser.add_argument('--debug', action='store_true', help="Enable debugging mode") Agrupando argumentos relacionados group = parser.add_argument_group('File Operations') group.add_argument('--input', type=str, help="Input file") group.add_argument('--output', type=str, help="Output file") Argumentos mutuamente exclusivos group = parser.add_mutually_exclusive_group() group.add_argument('--json', action='store_true', help="Output in JSON format") group.add_argument('--xml', action='store_true', help="Output in XML format") Conclusão O módulo argparse facilita a criação de CLIs robustos para manipular argumentos da linha de comando em Python. Desde opções simples até recursos avançados como choices e nargs, desenvolvedores podem criar ferramentas práticas, confiáveis e amigáveis ao usuário. Nomear argumentos de forma clara e escrever boas descrições torna seus scripts mais compreensíveis e fáceis de manter.
25 November 2025 · 5 min to read
Programação Python

Como instalar o pip no Windows

pip é uma ferramenta que torna a instalação e o gerenciamento de pacotes Python uma tarefa simples. De iniciantes em Python a desenvolvedores experientes, ter essa ferramenta no seu computador com Windows é uma verdadeira mudança de jogo. Ela facilita a configuração de frameworks e bibliotecas essenciais para suas necessidades de desenvolvimento. Automatizar o gerenciamento de pacotes com o pip economiza tempo e reduz as complicações associadas às instalações manuais. Siga este guia para aprender a configurar o pip e gerenciar seus pacotes Python de forma eficiente. Processo de configuração do pip no Windows Aqui estão as etapas para configurar o pip em um computador com Windows. Etapa 1: Confirmar a instalação Verifique se o Python está funcionando no seu dispositivo antes de iniciar a configuração do pip. Para fazer isso, abra o prompt de comando e execute: python --version   Se o Python não estiver instalado no seu sistema, baixe-o no site oficial. Etapa 2: Baixar o get-pip.py O pacote de instalação padrão do Python inclui o pip automaticamente. No entanto, caso ele tenha sido removido por engano, baixe o script get-pip.py. Você tem duas opções: visitar a página do pip.py ou usar o comando curl para uma instalação rápida: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Observação: reinstalar o Python para obter o pip também é uma opção. No entanto, isso pode causar conflitos com outras dependências ou configurações. Com este script, sua configuração atual do Python permanece inalterada. Etapa 3: Executar o get-pip.py Acesse o local do script através do prompt de comando e execute: python get-pip.py Isso instalará o pip no seu dispositivo sem problemas. Etapa 4: Confirmar a instalação do pip Valide a instalação executando: pip --version Este comando confirma que o pip está instalado no sistema. Etapa 5: Adicionar o pip à variável PATH do sistema Se o comando não for executado corretamente, atualize a variável PATH do sistema seguindo estas instruções para incluir o pip: Clique com o botão direito em Este Computador ou Meu Computador e selecione Propriedades. Escolha Configurações avançadas do sistema. Selecione Variáveis de ambiente. Em Variáveis do sistema, localize a variável Path e clique em Editar. Adicione o diretório Scripts do Python ao PATH do sistema, por exemplo: C:\Python39\Scripts. Métodos alternativos para instalar o pip no Windows Vamos explorar algumas outras maneiras de instalar o pip facilmente no Windows. Usando o módulo integrado ensurepip A partir do Python 3.4, existe um módulo integrado chamado ensurepip. Com essa ferramenta, a instalação do pip é simplificada, eliminando a necessidade do script get-pip.py. Etapa 1: Executar o ensurepip Digite o comando abaixo para configurar o pip: python -m ensurepip --default-pip Etapa 2: Verificar a instalação do pip Verifique a versão do pip com: pip --version Método do instalador do Python para instalar o pip Certifique-se de marcar a opção de instalação do pip durante a configuração do Python. Veja como fazer: Etapa 1: Baixar o instalador Abra seu navegador preferido, acesse o site oficial do Python e baixe o arquivo de instalação mais recente. Etapa 2: Executar o instalador Execute o instalador baixado e certifique-se de selecionar a opção “Add Python to PATH” durante a configuração. Etapa 3: Instalar o pip Durante o processo de instalação, marque a opção “Install pip”. Etapa 4: Confirmar que o pip foi instalado Quando a instalação for concluída, verifique se o pip foi instalado com: pip --version Ajustar a versão do pip: atualizar ou reverter O pip pode ser ajustado conforme suas necessidades, seja atualizando-o ou revertendo para uma versão anterior. Veja como fazer: Atualizar o pip Para atualizar o pip, execute: python -m pip install --upgrade pip Reverter o pip Para voltar a uma versão anterior do pip, use: python -m pip install pip==<version> Substitua <version> pelo número da versão desejada (por exemplo, 21.0). Resolvendo problemas de instalação do pip: comandos essenciais A seguir, estão os problemas mais comuns de instalação do pip e suas soluções: Problema 1: “pip” não é reconhecido como um comando interno ou externo Solução: isso significa que o caminho do pip não está definido no PATH do sistema. Siga as instruções da “Etapa 5” para corrigir o problema. Problema 2: Permissão negada Solução: execute o prompt de comando como administrador clicando com o botão direito no ícone e escolhendo “Executar como administrador”. Em seguida, execute os comandos novamente. Problema 3: Dependências ausentes Solução: às vezes, ocorrem erros devido a dependências ausentes. Para corrigir isso, instale manualmente as dependências necessárias usando o pip. Exemplo: pip install package_name Substitua package_name pela dependência apropriada. Usando ambientes virtuais Usar ambientes virtuais mantém as dependências separadas e evita conflitos. Veja como usar um ambiente virtual com o pip: Criar um ambiente virtual python -m venv env_name Substitua env_name pelo nome desejado do seu ambiente. Ativar o ambiente virtual env_name\Scripts\activate Comandos básicos do pip Aqui estão alguns comandos essenciais do pip: Instalar um pacote pip install package_name Substitua package_name pelo nome do pacote que você deseja instalar. Desinstalar um pacote pip uninstall package_name Exibir pacotes instalados pip list Exibir informações de um pacote pip show package_name Melhores práticas para o gerenciamento de pacotes Use ambientes virtuais para gerenciar dependências de forma eficiente em vários projetos. Verifique e atualize seus pacotes regularmente para garantir o bom funcionamento. Crie arquivos requirements para simplificar o gerenciamento de dependências nos seus projetos. Garantindo uma instalação segura do pip Garantir a segurança dos pacotes gerenciados pelo pip é fundamental. Aqui estão algumas dicas para manter seu ambiente seguro: Mantenha os projetos isolados para evitar conflitos e garantir instalações seguras. Verifique a confiabilidade e a autenticidade das fontes dos pacotes antes de instalá-los. Sempre use repositórios oficiais e leia as avaliações, se disponíveis. Atualize regularmente o pip e seus pacotes para se manter protegido com as últimas correções de segurança. Revise suas dependências periodicamente para identificar vulnerabilidades conhecidas. Ferramentas como pip-audit podem ajudar a detectá-las e resolvê-las. Siga práticas seguras de codificação e evite pacotes obsoletos ou inseguros. Integração do pip com IDEs O pip pode ser facilmente integrado a diversos Ambientes de Desenvolvimento Integrado (IDEs), aumentando significativamente sua produtividade no desenvolvimento: VS Code: use o terminal integrado para executar comandos pip e gerenciar pacotes diretamente no editor. PyCharm: otimize o gerenciamento de pacotes configurando o pip pelo interpretador do projeto. Isso simplifica o processo de instalação e gerenciamento de pacotes de acordo com as necessidades específicas do seu projeto. Jupyter Notebook: utilize comandos mágicos dentro da interface do notebook para instalar pacotes diretamente. Isso oferece uma experiência integrada e fluida para gerenciar dependências enquanto você trabalha em notebooks interativos.  Conclusão O Windows oferece diversos métodos para instalar o pip, de acordo com suas preferências e necessidades. Seja usando o script .py, o módulo integrado ensurepip ou ativando o pip durante a instalação inicial, todos esses métodos garantem que o pip seja configurado corretamente no seu sistema. Lembre-se de manter o pip atualizado para garantir a segurança e a eficiência do seu ambiente Python. Verifique regularmente por atualizações e mantenha o pip sempre na versão mais recente. Além disso, em nossa Application Platform, você pode encontrar aplicativos Python como Celery, Django, FastAPI e Flask.
24 October 2025 · 8 min to read

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support