5
votes

créer un dictionnaire à partir de la chaîne que chaque caractère est clé et valeur

Quelle est la meilleure façon pour moi de créer un dictionnaire à partir d'une chaîne dont la clé correspond à chaque caractère et sa majuscule et sa valeur à son contraire? Je peux utiliser un dictionnaire complet sur deux lignes, mais une meilleure façon? ex:

chaîne: abc => {'a': 'A', 'b': 'B', 'c': 'C', 'C': 'c', 'B': 'b', ' A ':' a '}

string = 'abc'
d = { i:i.upper() for i in string}
d.update({ i.upper():i for i in string})


1 commentaires

S'agit-il uniquement de ces personnages spécifiques?


3 Réponses :


0
votes

IIUC: Vous pouvez le faire comme suit,

string_dict = {
    char: char.upper() if char == char.lower() else char.lower()
    for char in (string.lower() + string.upper())
}


0 commentaires

10
votes

Utilisez swapcase :

{'C': 'c', 'b': 'B', 'B': 'b', 'a': 'A', 'A': 'a', 'c': 'C'}


0 commentaires

0
votes

Une autre façon de faire de même

import string
d=dict(zip(string.ascii_lowercase[:3],string.ascii_uppercase[:3]))
d.update(dict(zip(string.ascii_uppercase[:3],string.ascii_lowercase[:3])))


0 commentaires