Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Tupla Python

Tupla Python


Neste artigo, você aprenderá tudo sobre tuplas Python. Mais especificamente, o que são tuplas, como criá-las, quando usá-las e vários métodos com os quais você deve estar familiarizado.

Vídeo:listas e tuplas do Python

Uma tupla em Python é semelhante a uma lista. A diferença entre os dois é que não podemos alterar os elementos de uma tupla uma vez que ela é atribuída, enquanto podemos alterar os elementos de uma lista.


Criando uma Tupla


Uma tupla é criada colocando todos os itens (elementos) entre parênteses () , separados por vírgulas. Os parênteses são opcionais, no entanto, é uma boa prática usá-los.

Uma tupla pode ter qualquer número de itens e eles podem ser de diferentes tipos (integer, float, list, string, etc.).
# Different types of tuples

# Empty tuple
my_tuple = ()
print(my_tuple)

# Tuple having integers
my_tuple = (1, 2, 3)
print(my_tuple)

# tuple with mixed datatypes
my_tuple = (1, "Hello", 3.4)
print(my_tuple)

# nested tuple
my_tuple = ("mouse", [8, 4, 6], (1, 2, 3))
print(my_tuple)

Saída
()
(1, 2, 3)
(1, 'Hello', 3.4)
('mouse', [8, 4, 6], (1, 2, 3))

Uma tupla também pode ser criada sem usar parênteses. Isso é conhecido como empacotamento de tuplas.
my_tuple = 3, 4.6, "dog"
print(my_tuple)

# tuple unpacking is also possible
a, b, c = my_tuple

print(a)      # 3
print(b)      # 4.6
print(c)      # dog

Saída
(3, 4.6, 'dog')
3
4.6
dog

Criar uma tupla com um elemento é um pouco complicado.

Ter um elemento entre parênteses não é suficiente. Precisaremos de uma vírgula à direita para indicar que é, de fato, uma tupla.
my_tuple = ("hello")
print(type(my_tuple))  # <class 'str'>

# Creating a tuple having one element
my_tuple = ("hello",)
print(type(my_tuple))  # <class 'tuple'>

# Parentheses is optional
my_tuple = "hello",
print(type(my_tuple))  # <class 'tuple'>

Saída
<class 'str'>
<class 'tuple'>
<class 'tuple'>

Acessar elementos de tupla


Existem várias maneiras pelas quais podemos acessar os elementos de uma tupla.

1. Indexação


Podemos usar o operador de índice [] para acessar um item em uma tupla, onde o índice começa em 0.

Portanto, uma tupla com 6 elementos terá índices de 0 a 5. Tentar acessar um índice fora do intervalo de índice da tupla (6,7,... neste exemplo) gerará um IndexError .

O índice deve ser um inteiro, então não podemos usar float ou outros tipos. Isso resultará em TypeError .

Da mesma forma, tuplas aninhadas são acessadas usando indexação aninhada, conforme mostrado no exemplo abaixo.
# Accessing tuple elements using indexing
my_tuple = ('p','e','r','m','i','t')

print(my_tuple[0])   # 'p' 
print(my_tuple[5])   # 't'

# IndexError: list index out of range
# print(my_tuple[6])

# Index must be an integer
# TypeError: list indices must be integers, not float
# my_tuple[2.0]

# nested tuple
n_tuple = ("mouse", [8, 4, 6], (1, 2, 3))

# nested index
print(n_tuple[0][3])       # 's'
print(n_tuple[1][1])       # 4

Saída
p
t
s
4

2. Indexação negativa


Python permite indexação negativa para suas sequências.

O índice de -1 refere-se ao último item, -2 ao penúltimo item e assim por diante.
# Negative indexing for accessing tuple elements
my_tuple = ('p', 'e', 'r', 'm', 'i', 't')

# Output: 't'
print(my_tuple[-1])

# Output: 'p'
print(my_tuple[-6])



Saída
t
p

3. Fatiando


Podemos acessar uma variedade de itens em uma tupla usando o operador de fatiamento dois pontos : .
# Accessing tuple elements using slicing
my_tuple = ('p','r','o','g','r','a','m','i','z')

# elements 2nd to 4th
# Output: ('r', 'o', 'g')
print(my_tuple[1:4])

# elements beginning to 2nd
# Output: ('p', 'r')
print(my_tuple[:-7])

# elements 8th to end
# Output: ('i', 'z')
print(my_tuple[7:])

# elements beginning to end
# Output: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
print(my_tuple[:])

Saída
('r', 'o', 'g')
('p', 'r')
('i', 'z')
('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

O fatiamento pode ser melhor visualizado considerando o índice entre os elementos, conforme mostrado abaixo. Então, se quisermos acessar um intervalo, precisamos do índice que cortará a parte da tupla.

Alterando uma Tupla


Ao contrário das listas, as tuplas são imutáveis.

Isso significa que os elementos de uma tupla não podem ser alterados depois de atribuídos. Mas, se o próprio elemento for um tipo de dados mutável como uma lista, seus itens aninhados poderão ser alterados.

Também podemos atribuir uma tupla a valores diferentes (reatribuição).
# Changing tuple values
my_tuple = (4, 2, 3, [6, 5])


# TypeError: 'tuple' object does not support item assignment
# my_tuple[1] = 9

# However, item of mutable element can be changed
my_tuple[3][0] = 9    # Output: (4, 2, 3, [9, 5])
print(my_tuple)

# Tuples can be reassigned
my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

# Output: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
print(my_tuple)

Saída
(4, 2, 3, [9, 5])
('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

Podemos usar + operador para combinar duas tuplas. Isso é chamado de concatenação .

Também podemos repetir os elementos em uma tupla por um determinado número de vezes usando o * operador.

Ambos + e * operações resultam em uma nova tupla.
# Concatenation
# Output: (1, 2, 3, 4, 5, 6)
print((1, 2, 3) + (4, 5, 6))

# Repeat
# Output: ('Repeat', 'Repeat', 'Repeat')
print(("Repeat",) * 3)

Saída
(1, 2, 3, 4, 5, 6)
('Repeat', 'Repeat', 'Repeat')

Excluindo uma Tupla


Como discutido acima, não podemos alterar os elementos em uma tupla. Isso significa que não podemos excluir ou remover itens de uma tupla.

A exclusão completa de uma tupla, no entanto, é possível usando a palavra-chave del.
# Deleting tuples
my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')

# can't delete items
# TypeError: 'tuple' object doesn't support item deletion
# del my_tuple[3]

# Can delete an entire tuple
del my_tuple

# NameError: name 'my_tuple' is not defined
print(my_tuple)

Saída
Traceback (most recent call last):
  File "<string>", line 12, in <module>
NameError: name 'my_tuple' is not defined

Métodos de Tupla


Métodos que adicionam ou removem itens não estão disponíveis com tupla. Apenas os dois métodos a seguir estão disponíveis.

Alguns exemplos de métodos de tupla Python:
my_tuple = ('a', 'p', 'p', 'l', 'e',)

print(my_tuple.count('p'))  # Output: 2
print(my_tuple.index('l'))  # Output: 3

Saída
2
3

Outras operações de tupla

1. Teste de associação à tupla


Podemos testar se um item existe em uma tupla ou não, usando a palavra-chave in .
# Membership test in tuple
my_tuple = ('a', 'p', 'p', 'l', 'e',)

# In operation
print('a' in my_tuple)
print('b' in my_tuple)

# Not in operation
print('g' not in my_tuple)

Saída
True
False
True

2. Iterando por meio de uma tupla


Podemos usar um for loop para percorrer cada item em uma tupla.
# Using a for loop to iterate through a tuple
for name in ('John', 'Kate'):
    print("Hello", name)

Saída
Hello John
Hello Kate

Vantagens da Tupla sobre a Lista


Como as tuplas são bastante semelhantes às listas, ambas são usadas em situações semelhantes. No entanto, existem certas vantagens de implementar uma tupla sobre uma lista. Abaixo estão listadas algumas das principais vantagens:
  • Geralmente usamos tuplas para tipos de dados heterogêneos (diferentes) e listas para tipos de dados homogêneos (semelhantes).
  • Como as tuplas são imutáveis, iterar em uma tupla é mais rápido do que com uma lista. Portanto, há um pequeno aumento no desempenho.
  • Tuplas que contêm elementos imutáveis ​​podem ser usadas como chave para um dicionário. Com listas, isso não é possível.
  • Se você tiver dados que não mudam, implementá-los como tupla garantirá que eles permaneçam protegidos contra gravação.

python

  1. Tipos de dados Python
  2. Operadores Python
  3. Instrução de passagem do Python
  4. Argumentos da função Python
  5. Dicionário Python
  6. Iteradores Python
  7. Fechamentos Python
  8. Data e hora do Python
  9. Python - Visão geral
  10. Python - Números