English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Python中的元组类似于As tuplas no Python são semelhantes aLista
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",
Acessar elementos de tupla
.í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
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, [
.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[:])
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)
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)
Tuples do not provide methods to add or delete items. Only the following two methods are available.
Method | Description |
---|---|
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
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)
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)
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.