Ir ao conteúdo
  • Cadastre-se

Python PYTHON - Tuplas dentro de Listas


Ir à solução Resolvido por Adriano_web,

Posts recomendados

@CH_Men77

Para transformar cada item dentro de uma lista em uma tupla (mas mantendo a estrutura de lista), você pode usar uma combinação de map() e tuple().

 

O map() é uma função que aplica uma determinada função a todos os elementos de uma lista e retorna um objeto do tipo map. A tuple() é uma função que transforma um objeto em uma tupla.

 

Aqui está um exemplo de como você poderia usar essas funções para transformar cada item dentro de uma lista em uma tupla:

 

original_list = [1, 2, 3, 4, 5]
new_list = list(map(tuple, original_list))
print(new_list)

 

Isso irá imprimir:

[(1,), (2,), (3,), (4,), (5,)]

 

Se o que você quer é transformar cada caractere de uma string em uma tupla, então você pode usar o seguinte código:

original_string = "example"
new_list = list(map(tuple, original_string))
print(new_list)

 

Isso irá imprimir:

 

[('e',), ('x',), ('a',), ('m',), ('p',), ('l',), ('e',)]

 

Lembre-se que as tuplas são imutáveis, então se você precisar modificar os valores dentro das tuplas, você precisará criar novas tuplas.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Eu tentei pelo método map mas mesmo assim iterou por cada caractere,

Um exemplo mais enxuto do que eu queria fazer é:
 

 

 

lista1 = ['18/03/2022','19/04/2022','20/05/2022']
lista2 = []

for i in lista1:
    lista2.append(tuple(i))
    
lista2

 

#objetivo:  [('18/03/2022'),('19/04/2022'),('20/05/2022')]
#porém o que retorna é: 
#[('1', '8', '/', '0', '3', '/', '2', '0', '2', '2'), ('1', '9', '/', '0', '4', '/', '2', '0', '2', '2'), ('2', '0', '/', '0', '5', '/', '2', '0', '2', '2')]

Link para o comentário
Compartilhar em outros sites

@CH_Men77

Se você está tentando transformar cada item dentro de uma lista de strings em uma tupla, onde cada tupla contém uma string inteira, mas o resultado é uma lista de tuplas, onde cada tupla contém apenas um caractere, é provavelmente porque cada string dentro da lista original está sendo dividida em caracteres individuais antes de ser transformada em uma tupla.

 

Uma forma de resolver isso é usar uma list comprehension, onde você itera sobre cada elemento da lista original e, ao mesmo tempo, transforma cada elemento em uma tupla:

 

original_list = ["string1", "string2", "string3"]
new_list = [(x,) for x in original_list]
print(new_list)

 

Isso irá imprimir:

 

[("string1",), ("string2",), ("string3",)]

 

Se você precisa trabalhar com cada caractere de uma string individualmente, você pode usar o método split() para dividir a string em uma lista de caracteres.

 

original_string = "example"
new_list = list(original_string)
print(new_list)

 

Isso irá imprimir:

 

['e','x','a','m','p','l','e']

 

Espero que isso ajude a resolver seu problema.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Adriano_web Obrigado era isso mesmo, o único detalhe é que a string fica com a vírgula junto né:  [ (string1,) , (string2,) , (string3,) ]
Eu conseguiria tirar essa virgula dentro com replace ou realmente precisa dela pra formar a tupla (porque tirando ela do x antes do for (x,) realmente não funciona)

Link para o comentário
Compartilhar em outros sites

  • Solução

@CH_Men77

Sim, é exatamente por isso que a vírgula está presente dentro das tuplas. Ela é necessária para que o objeto seja tratado como uma tupla pelo Python.

 

Se você não deseja exibir a vírgula na saída, você pode usar a função join() para juntar todos os elementos da lista de tuplas em uma única string. No entanto, essa string não será mais uma tupla, mas sim uma string formatada.

 

Para remover a vírgula entre as tuplas, você pode fazer o seguinte:

 

original_list = [("string1,"), ("string2,"), ("string3,")]
new_list = [x.replace(",","") for x in original_list]
print(new_list)

 

Isso irá imprimir:

 

["string1","string2","string3"]

 

Dessa forma a vírgula foi removida mas, se você precisar trabalhar com esses elementos como tuplas, você não poderá mais usá-los como tal. Lembrando que, se você precisar trabalhar com as tuplas, você não deve remover a vírgula.

 

Espero ter ajudado!

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!