English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do Python

Controle de Fluxo do Python

Função do Python

Tipos de Dados do Python

Operações de Arquivos do Python

Objetos e Classes do Python

Data e Hora do Python

Conhecimentos Avançados do Python

Manual de Referência do Python

Tupla (Tuple) do Python

Python中的元组类似于As tuplas no Python são semelhantes aLista

. A diferença entre eles é que, uma vez atribuída, a tupla não pode ter seus elementos alterados, enquanto na lista, os elementos podem ser alterados.

Criar uma tupla

Criar uma tupla colocando todos os itens (elementos) entre parênteses () (separados por vírgulas). Os parênteses são opcionais, mas, usar parênteses é uma boa prática.As tuplas podem ter qualquer número de itens e podem ter diferentes tipos (inteiros, números de ponto flutuante, listas,String

等).

Também podemos criar uma tupla sem usar parênteses. Isso é chamado de embalagem de tupla.

Criar uma tupla com um único elemento

Uma tupla com um único elemento é um pouco especial. Precisamos de uma vírgula no final para indicar que é uma tupla.
my_tuple = ("hello")
print(type(my_tuple)) # <class 'str'>
# Criar uma tupla com um único elemento  
my_tuple = "hello", 
my_tuple = ("hello",)
# Os parênteses são opcionais
my_tuple = "hello",

print(type(my_tuple)) # <class 'tuple'>

Acessar elementos de tupla

1Podemos acessar elementos de tupla de várias maneiras.

.índice

Podemos usar o operador de índice [] para acessar itens da tupla começando pelo índice 0.6Portanto, uma tupla com5um tupla de um elemento terá índices de 0 a6do índice. Tente acessar um elemento fora da tupla (por exemplo7 ,

...) causará IndexError.

O índice deve ser um inteiro; portanto, não podemos usar float ou outro tipo. Isso causará TypeError.

my_tuple = ('p', 'e', 'r', 'm', 'i', 't')
Da mesma forma, para acessar tuplas aninhadas usando índice aninhado, veja o exemplo a seguir. 
# Saída: ('i', 'z')5print(my_tuple[0]) # 'p'
]) # 't'
# IndexError: Índice da lista fora do intervalo6, [
# print(my_tuple[
# O índice deve ser um inteiro
# TypeError: O objeto 'tuple' não suporta a atribuição de itens2# TypeError: O índice da lista deve ser um inteiro, não um número de ponto flutuante
# Tupla aninhada
n_tuple = ("mouse", [8, 4, 6], (1, 2, 3))
# Índice aninhado
print(n_tuple[0][3]) # 's'
print(n_tuple[1][1]) # 4

2.índice negativo

Python permite que a sequência seja indexada negativamente.

Índice-1Representa o último item,-2Representa o penúltimo item, e assim por diante.

my_tuple = ('p', 'e', 'r', 'm', 'i', 't')
# Saída: 't'
# Saída: ('i', 'z')-1, [
# Saída: 'p'
# Saída: ('i', 'z')-6, [

3.fatiar

.fatiar-Podemos usar o operador

my_tuple = ('p','r','o','g','r','a','m','i','z')
print(my_tuple[:2Ponto ‘:’ para acessar uma série de itens em um tuplo.-4de
# Elementos
# Saída: ('i', 'z')1# Saída: ('r', 'o', 'g')4, [
:
# Do início ao segundo elemento
# Saída: ('p', 'r')-7, [
print(my_tuple[:8# O
# Elemento até o fim
# Saída: ('i', 'z')7print(my_tuple[
:])
# Os tuplos podem ser redistribuídos
# Elementos do início ao fim

print(my_tuple[:])

Considerando que os índices estão entre os elementos, a melhor maneira de visualizar fatiamento é, como mostrado a seguir. Portanto, para acessar um intervalo, é necessário usar os índices de fatiamento de parte do tuplo.

Mudar tuplo

Diferente de listas, tuplos são imutáveis.

Isso significa que uma vez que os elementos do tuplo foram alocados, não podem ser alterados. No entanto, se o elemento em si for um tipo de dados mutável (como uma lista), seus itens aninhados podem ser alterados.

Podemos atribuir tuplos a diferentes valores (reatribuir).4, 2, 3# Saída: (6, 5, [
my_tuple = (
# TypeError: O objeto 'tuple' não suporta a atribuição de itens1# my_tuple[ 9
] =
# Mas, itens de elementos mutáveis podem ser alterados3my_tuple[ 9    ][0] =4, 2, 3# Saída: (9, 5, [
print(my_tuple)
])
my_tuple = ('p','r','o','g','r','a','m','i','z')
# Os tuplos podem ser redistribuídos
print(my_tuple)

# Saída: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')+Podemos usarOperador de concatenação para combinar dois tuplos. Isso também é conhecido como

Podemos usar o operador*,repete os elementos do tuploRepetiçãodo número de repetições.

Independentemente+E*A operação resulta em um novo registro.

# Concatenação
# Saída: (1, 2, 3, 4, 5, 6)
print((1, 2, 3) + (4, 5, 6))
# Repetição
# Saída: ('Repeat', 'Repeat', 'Repeat')
print(("Repeat",) * 3)

Deletar tuplo

Como mencionado acima, não podemos mudar os elementos de um tuplo. Isso também significa que não podemos deletar ou excluir itens do tuplo.

Mas pode usar a palavra-chavedelDeletar completamente um tuplo.

my_tuple = ('p','r','o','g','r','a','m','i','z')
# Não pode deletar itens
# TypeError: O objeto 'tuple' não suporta a exclusão de itens
# del my_tuple[3]
# Pode deletar todo o tuplo
del my_tuple
# NomeError: Nome não definido “my_tuple”
print(my_tuple)

Tuple methods

Tuples do not provide methods to add or delete items. Only the following two methods are available.

Python tuple methods
MethodDescription
count(x)Return the number of itemsx
index(x)Return equal toxThe index of the first item

Some examples of Python tuple methods:

my_tuple = ('a','p','p','l','e',)
print(my_tuple.count('p'))  # Output: 2
print(my_tuple.index('l'))  # Output: 3

Other tuple operations

1.Member qualification test of tuple

We can use the keyword 'in' to test if an item exists in the tuple.

my_tuple = ('a','p','p','l','e',)
# In operation
# Output: True
print('a' in my_tuple)
# Output: False
print('b' in my_tuple)
# Not in operation
# Output: True
print('g' not in my_tuple)

2.Traverse tuple

Using a for loop, we can traverse each item in the tuple.

# Output: 
# Hello John
# Hello Kate
for name in ('John','Kate'):
     print("Hello",name)

Advantages of tuples over lists

Since tuples are very similar to lists, they are also used in similar situations.

However, there are some advantages to implementing tuples on lists. The following lists some of the main advantages:

  • We usually use tuples for heterogeneous (different) data types and lists for homogeneous (similar) data types.

  • Since tuples are immutable, it is faster to traverse a tuple than to use a list. Therefore, there is a slight performance improvement.

  • Tuples containing immutable elements can be used as dictionary keys. This is not possible for lists.

  • If you have immutable data, implementing it as a tuple will ensure that it remains write-protected.