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.
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
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
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.
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.
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.