Converter dicionário em tuplas em Python

Manav Narula 30 janeiro 2023
  1. Use a função items() para converter um dicionário em uma lista de tuplas em Python
  2. Use o loop for para converter um dicionário em uma lista de tuplas em Python
  3. Use o método de compreensão de lista para converter um dicionário em uma lista de tuplas
  4. Use a função zip() para converter um dicionário em uma lista de tuplas
Converter dicionário em tuplas em Python

Em Python, temos diferentes coleções à nossa disposição e, às vezes, podemos precisar converter uma coleção em outra de acordo com nossas necessidades.

Um dicionário é usado para armazenar pares de valores-chave em Python. Este tutorial discutirá diferentes métodos para armazenar esses pares de valores-chave como tuplas em uma lista.

Use a função items() para converter um dicionário em uma lista de tuplas em Python

A função items() retorna um objeto de exibição com os pares de valores-chave do dicionário como tuplas em uma lista. Podemos usá-lo com a função list() para obter o resultado final como uma lista. O código a seguir implementa isso.

d1 = {"x": 1, "y": 2, "z": 3}
l1 = list(d1.items())
print(l1)

Resultado:

[('x', 1), ('y', 2), ('z', 3)]

Observe que abaixo do Python 3.x, a função iteritems() pode executar a mesma função.

Use o loop for para converter um dicionário em uma lista de tuplas em Python

Neste método, iteramos através do dicionário usando o loop for. Usamos as chaves para acessar os elementos e criar tuplas, que são anexadas a uma lista vazia. O código a seguir implementa isso.

d1 = {"x": 1, "y": 2, "z": 3}
l2 = []

for i in d1:
    tpl = (i, d1[i])
    l2.append(tpl)

print(l2)

Resultado:

[('x', 1), ('y', 2), ('z', 3)]

Use o método de compreensão de lista para converter um dicionário em uma lista de tuplas

Compreensão de lista é uma maneira elegante de criar listas em uma única linha de código. Para este método, usaremos o loop for e a função items() juntos, conforme mostrado abaixo:

d1 = {"x": 1, "y": 2, "z": 3}
l3 = [(v, k) for v, k in d1.items()]
print(l3)

Resultado:

[('x', 1), ('y', 2), ('z', 3)]

Use a função zip() para converter um dicionário em uma lista de tuplas

A função zip() retorna um objeto do tipo zip mesclando dois objetos iteráveis ​​e formando uma tupla. Podemos passar este objeto para a função list() para obter o resultado final em uma nova lista.

d1 = {"x": 1, "y": 2, "z": 3}
l4 = list(zip(d1.keys(), d1.values()))
print(l4)

Resultado:

[('x', 1), ('y', 2), ('z', 3)]

No código acima, usamos as funções keys() e values() para obter a lista de chaves e valores do dicionário, respectivamente, e combiná-los usando a função zip().

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python Dictionary