[PYTHON] Extraire la valeur de dict ou list sous forme de chaîne de caractères

Je voulais parfois extraire les valeurs de dict et list en utilisant des chaînes séparées par des points telles que a.b et c.d.2.e, alors je les ai écrites.

def get_item(src, path):
    now = src
    for i in path.split('.'):
        if type(now) is list:
            now = now[int(i)]
        else:
            now = now[i]
    return now

est maintenant une variable pour mettre la valeur actuelle. La valeur initiale est l'argument dict ou list. Divisez le chemin par un point et tournez-le par pour. Échangez la valeur de now jusqu'à la fin de pour et enfin de retour.

Au fait, je ne m'attends pas à ce que le nom de la clé ait un point.

my_dict = {
    'a': {
        'b': 'hello'
    },
    'c': {
         'd':[
             {'e': 3},
             {'e': 4},
             {'e': 5},
             {'e': 6},
         ]
     }
}

print(get_item(my_dict, 'a.b'))
print(get_item(my_dict, 'c.d.3.e'))
print(get_item(my_dict, 'c.d'))
# hello
# 6
# [{'e': 3}, {'e': 4}, {'e': 5}, {'e': 6}]

Recommended Posts

Extraire la valeur de dict ou list sous forme de chaîne de caractères
Obtenez le nom de la variable sous forme de chaîne de caractères.
Comment connecter le contenu de la liste dans une chaîne de caractères
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python
Précautions lors de l'utilisation d'une liste ou d'un dictionnaire comme argument par défaut
Conversion de chaîne d'une liste contenant des nombres
Remarques sur la personnalisation de la classe de liste de dict
Copiez la liste en Python
Rechercher par la valeur de l'instance dans la liste
Ne spécifiez pas un objet mutable (type de liste, type de dictionnaire, etc.) comme valeur initiale de l'argument de fonction de python.
Découpez une partie de la chaîne à l'aide d'une tranche Python
Prenez note de la liste des utilisations de base de Pandas
#Une fonction qui renvoie le code de caractère d'une chaîne de caractères
Afficher le résultat de sortie de sklearn.metrics.classification_report sous forme de fichier CSV
Découvrez la largeur apparente d'une chaîne en python
Extraire la liste des services dans Azure
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Obtenez le nombre d'éléments spécifiques dans la liste python
Trouver l'index de la valeur maximale (valeur minimale) d'un tableau multidimensionnel
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Lorsqu'une chaîne de caractères d'une certaine série se trouve dans la clé du dictionnaire, la chaîne de caractères est convertie en valeur du dictionnaire.
Note addictive: max (max (list)) ne doit pas être utilisé lors de la maximisation de la valeur d'un tableau à deux dimensions
Extraire l'index de la set list d'origine correspondant à la liste des sous-ensembles.
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 2)
Format lors du passage d'une longue chaîne comme argument de python
Si vous donnez une liste avec l'argument par défaut de la fonction ...
Comment trouver l'adresse mémoire de la valeur de la trame de données Pandas
Comment extraire la chaîne de caractères souhaitée à partir d'une ligne 4 commandes
Essayez d'utiliser Elasticsearch comme base de votre système de questions et réponses
Creusez le répertoire et créez une liste de chemins de répertoire + noms de fichiers
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 1)
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
[Python] Un programme qui fait pivoter le contenu de la liste vers la gauche
Trouvez la définition de la valeur de errno
Extraire la valeur maximale avec les pandas.
À propos de la valeur de retour de pthread_mutex_init ()
python / Créer un dict à partir d'une liste.
À propos de la valeur de retour de l'histogramme.
Générer une liste de caractères consécutifs
À propos de la liste de base des bases de Python
L'histoire de l'exportation d'un programme
Trier la liste qui contient le dict
Python> Extraire la valeur de list (unpack)> Add *> Vous m'avez appris la différence entre Python 2 et Python 3 concernant print (* mylist) / print ().
Extension de Python par C ou C ++ (lorsqu'il y a plusieurs arguments, lors du passage d'une liste du côté Python)
L'histoire de la création d'un slackbot qui génère un gif ou un png lorsque vous envoyez le code de traitement
Python> Slice> Un décalage de tranche antérieur au début d'une chaîne est traité comme 0, et un après la fin est traité comme -1
Comment saisir une chaîne de caractères en Python et la sortir telle quelle ou dans la direction opposée.
Générez une liste contenant le nombre de jours du mois en cours.
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
J'ai mesuré 6 méthodes pour obtenir l'indice de la valeur maximale (valeur minimale) de la liste
Je souhaite trier une liste dans l'ordre des autres listes
Poussez la liste de hachage dans VT et recevez le résultat de la détection sous forme de liste
Recevez une liste des résultats du traitement parallèle en Python avec starmap
Fonction Eval () qui calcule une chaîne de caractères comme expression en python
Trouvez la valeur minimale de la fonction par la méthode d'optimisation du groupe de particules (PSO)
Comment bien formater une liste de dictionnaires (ou d'instances) en Python
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
<Python> Un quiz pour convertir par lots les noms de fichiers séparés par une chaîne de caractères spécifique dans le cadre du nom de fichier