Resumo : neste tutorial, você aprenderá sobre as sequências Python e suas operações básicas.
Introdução às sequências Python
Uma sequência é uma coleção de itens ordenada posicionalmente. E você pode se referir a qualquer item na sequência usando seu número de índice, por exemplo, s[0]
e s[1]
.
Em Python, o índice de sequência começa em 0, não em 1. Portanto, o primeiro elemento é s[0]
e o segundo elemento é s[1]
. Se a sequência s
tiver n
itens, o último item será s[n-1]
.
Python possui os seguintes tipos de sequência integrados: lists , bytearrays, strings , tuples , range e bytes. Python classifica os tipos de sequência como mutáveis e imutáveis .
Os tipos de sequência mutáveis são listas e bytearrays, enquanto os tipos de sequência imutáveis são strings, tuplas, intervalo e bytes.
Uma sequência pode ser homogênea ou heterogênea. Numa sequência homogênea, todos os elementos têm o mesmo tipo. Por exemplo, strings são sequências homogêneas onde cada elemento é do mesmo tipo.
As listas, entretanto, são sequências heterogêneas onde você pode armazenar elementos de diferentes tipos, incluindo números inteiros, strings, objetos, etc.
Em geral, os tipos de sequências homogêneas são mais eficientes que os heterogêneos em termos de armazenamento e operações.
Tipo de sequência versus tipo iterável
Um iterável é uma coleção de objetos onde você pode obter cada elemento um por um. Portanto, qualquer sequência é iterável. Por exemplo, uma lista é iterável.
No entanto, um iterável pode não ser um tipo de sequência. Por exemplo, um conjunto é iterável, mas não é uma sequência.
De modo geral, os iteráveis são mais gerais que os tipos de sequência.
Métodos de sequência padrão do Python
O seguinte explica alguns métodos de sequência padrão:
1) Contando elementos de uma sequência Python
Para obter o número de elementos de uma sequência, você usa a função integrada len
:
len(seq)
O exemplo a seguir usa a len
função para obter o número de itens na cities
lista:
cities = ['San Francisco', 'New York', 'Washington DC']
print(len(cities))
Linguagem de código: PHP ( php )
Saída:
3
2) Verificando se existe um item em uma sequência Python
Para verificar se um item existe em uma sequência, você usa o in
operador:
element in seq
O exemplo a seguir usa o in
operador para verificar se 'New York'
está na cities
lista:
cities = ['San Francisco', 'New York', 'Washington DC']
print('New York' in cities)
Linguagem de código: PHP ( php )
Saída:
True
Linguagem de código: PHP ( php )
Para negar o in
operador, você usa o not
operador. O exemplo a seguir verifica se 'New York'
não está na cities
lista:
cities = ['San Francisco', 'New York', 'Washington DC']
print('New York' not in cities)
Linguagem de código: PHP ( php )
Saída:
False
Linguagem de código: PHP ( php )
3) Encontrar o índice de um item em uma sequência Python
O seq.index(e)
retorna o índice da primeira ocorrência do item e
na sequência seq
:
seq.index(e)
Linguagem de código: CSS ( css )
Por exemplo:
numbers = [1, 4, 5, 3, 5, 7, 8, 5]
print(numbers.index(5))
Linguagem de código: PHP ( php )
Saída:
2
O índice da primeira ocorrência do número 5 na lista de números é 2. Se o número não estiver na sequência, você receberá um erro:
numbers = [1, 4, 5, 3, 5, 7, 8, 5]
print(numbers.index(10))
Linguagem de código: PHP ( php )
Erro:
ValueError: 10 is not in list
Linguagem de código: PHP ( php )
Para encontrar o índice da primeira ocorrência de um item em ou após um índice específico, você usa a seguinte forma do método de índice:
seq.index(e, i)
Linguagem de código: CSS ( css )
O exemplo a seguir retorna o índice da primeira ocorrência do número 5 após o terceiro índice:
numbers = [1, 4, 5, 3, 5, 7, 8, 5]
print(numbers.index(5, 3))
Linguagem de código: PHP ( php )
Saída:
4
A seguinte forma do método index permite encontrar o índice da primeira ocorrência de um item no índice ou após o índice i
e antes do índice j
:
seq.index(e, i, j)
Linguagem de código: CSS ( css )
Por exemplo:
numbers = [1, 4, 5, 3, 5, 7, 8, 5]
print(numbers.index(5, 3, 5))
Linguagem de código: PHP ( php )
Saída:
4
4) Fatiando uma sequência
Para obter a fatia do índice i
para (mas não incluindo) j
, você usa a seguinte sintaxe:
seq[i:j]
Linguagem de código: CSS ( css )
Por exemplo:
numbers = [1, 4, 5, 3, 5, 7, 8, 5]
print(numbers[2:6])
Linguagem de código: PHP ( php )
Saída:
[5, 3, 5, 7]
Linguagem de código: JSON/JSON com comentários ( json )
Quando você fatia uma sequência, é mais fácil imaginar que os índices da sequência estão localizados entre dois itens como este:
A fatia estendida permite que você obtenha uma fatia de i
(mas não incluindo j
) em etapas de k
:
seq[i:j:k]
Linguagem de código: CSS ( css )
Por exemplo:
numbers = [1, 4, 5, 3, 5, 7, 8, 5]
print(numbers[2:6:2])
Linguagem de código: PHP ( php )
Saída:
[5, 5]
Linguagem de código: JSON/JSON com comentários ( json )
5) Obtendo itens mínimo e máximo de uma sequência Python
Se a ordem entre os itens em uma sequência for especificada, você poderá usar as funções min e max integradas para encontrar os itens mínimo e máximo:
numbers = [1, 4, 5, 3, 5, 7, 8, 5]
print(min(numbers)) # 1
print(max(numbers)) # 8
Linguagem de código: PHP ( php )
Saída:
1
8
6) Concatenando duas sequências Python
Para concatenar duas sequências em uma única sequência, você usa o operador +:
s3 = s1 + s2
O exemplo a seguir concatena duas sequências de strings:
east = ['New York', 'New Jersey']
west = ['San Diego', 'San Francisco']
cities = east + west
print(cities)
Linguagem de código: PHP ( php )
Saída:
['New York', 'New Jersey', 'San Diego', 'San Francisco']
Linguagem de código: JSON/JSON com comentários ( json )
É bastante seguro concatenar sequências imutáveis. O exemplo a seguir anexa um elemento à lista oeste. E isso não afeta a sequência das cidades:
west.append('Sacramento')
print(west)
print(cities)
Linguagem de código: PHP ( php )
Saída:
['San Diego', 'San Francisco', 'Sacramento']
['New York', 'New Jersey', 'San Diego', 'San Francisco']
Linguagem de código: JSON/JSON com comentários ( json )
No entanto, você deve estar ciente das concatenações de sequências mutáveis. O exemplo a seguir mostra como concatenar uma lista a si mesma:
city = [['San Francisco', 900_000]]
cities = city + city
print(cities)
Linguagem de código: PHP ( php )
Saída:
[['San Francisco', 1000000], ['San Francisco', 1000000]]
Linguagem de código: JSON/JSON com comentários ( json )
Como uma lista é mutável, os endereços de memória do primeiro e do segundo elementos da lista de cidades são iguais:
print(id(cities[0]) == id(cities[1])) # True
Linguagem de código: PHP ( php )
Além disso, quando você altera o valor da lista original, a lista combinada também muda:
city[0][1] = 1_000_000
print(cities)
Linguagem de código: PHP ( php )
Juntando tudo:
city = [['San Francisco', 900_000]]
cities = city + city
print(cities)
print(id(cities[0]) == id(cities[1])) # True
city[0][1] = 1_000_000
print(cities)
Linguagem de código: PHP ( php )
Saída:
[['San Francisco', 900000], ['San Francisco', 900000]]
True
[['San Francisco', 1000000], ['San Francisco', 1000000]]
Linguagem de código: CSS ( css )
7) Repetindo uma sequência Python
Para repetir uma sequência várias vezes, você usa o operador de multiplicação (*). O exemplo a seguir repete a string Python três vezes:
s = 'ha'
print(s*3)
Linguagem de código: PHP ( php )
Saída:
hahaha
Resumo
- As sequências Python são coleções de itens ordenadas posicionalmente.