1
votes

Créez des tuples qui ont un mot de casse mixte comme premier élément et une chaîne entièrement minuscule comme deuxième élément

Créez des tuples qui ont un mot de casse mixte comme premier élément et une chaîne entièrement minuscule comme deuxième élément. Prenez une liste de mots séparés par des espaces pour votre entrée.

Voici ce que j'ai jusqu'à présent:

result = {}
words = ("VaneSSa likES tO RuN")
words1 = words.split()
for dic in words1:
    result[dic] = dic.lower()
print(result)

Résultat: {'VanEssa': 'vanessa', 'likeS': 'likes', 'tO': 'to', 'Run': 'run'}

Je réalise que c'est un dictionnaire, et l'exercice c'est que ce soit un tuple. Voici l'exemple qu'ils ont utilisé:

"Par exemple, si on vous donne la chaîne:

RADIO aStRoNoMy Pulsar

vous devez obtenir le tuple suivant de tuples utilisant une compréhension de tuples:

(('RADIO', 'radio'), ('aStRoNoMy', 'astronomy'), ('Pulsar', 'pulsar')) "

J'ai également référencé Premier élément minuscule du tuple dans la liste des tuples

mais j'ai du mal à comprendre comment changer cela d'un dictionnaire à tupple


3 commentaires

tuple (dict.items ())


Pourquoi utilisez-vous même un dictionnaire si vous n’en avez pas besoin?


Au départ, je pensais que c'était un dictionnaire. Je peux aussi repartir de zéro, j'espérais qu'il y aurait un moyen facile de le restructurer en tuple vs dictionnaire. J'apprends qu'il n'y a pas de moyen «facile» à moins que je ne veuille sauter sur l'apprentissage du concept


3 Réponses :


-2
votes

Les dictionnaires ont une fonction pour obtenir tous les éléments sous forme de tuples. Utilisez: tuple(result.items())

Le résultat de la fonction items est une liste de tuples. Pour avoir un tuple de tuples à la place, j'utilise la fonction tuple pour la conversion.


0 commentaires

2
votes

Exécutez:

result = []
words = ("VaneSSa likES tO RuN")
words1 = words.split()
for dic in words1:
    result.append(tuple([dic, dic.lower()]))
result = tuple(result)


1 commentaires

Vous avez rendu la construction du tuple trop compliquée. Juste result.append ((dic, dic.lower ()))



1
votes

Essayez ceci:

(("RADIO", "radio"), ("aStRoNoMy", "astronomy"), ("Pulsar", "pulsar"))

Vous donne:

words = input("Enter words to transform to lowercase here. Separate them with spaces:")
result = tuple((word, word.lower()) for word in words.split())
print(result)


1 commentaires

Hé, belle réponse! Bienvenue dans Stack Overflow! :)