-2
votes

Python boucle via la liste dans le dictionnaire dans un dictionnaire

J'ai un dictionnaire contenant une liste de dictionnaires comme ci-dessous: xxx pré>

Je veux boucler via cette ligne d'impression chaque ligne comme ceci: p>

5.45.32.0, True
185.160.58.0, 24


4 commentaires

Qu'en est-il des éléments suivants de la liste avec / 21 , / 20 , ... etc? Et pourquoi true dans le premier cas mais 24 dans le deuxième cas?


la sortie n'est pas claire. Quel résultat attendez-vous exactement? en termes de types de données Python.


Le premier élément "Préfixe": "5.45.32.0 \ / 22" J'ai besoin de 5.45.32.0 et le reste d'accès par la clé


Repose accéder par la touche , quelle touche fais-vous référence?


3 Réponses :


0
votes
output = { "Facebook": [
    { "prefix": "5.45.32.0\/22", "exact": True },
    { "prefix": "185.160.58.0\/23", "exact": False, "greater-equal": 24, "less-equal": 24 },
    { "prefix": "5.57.248.0\/21", "exact": True },
    { "prefix": "5.206.208.0\/20", "exact": True },
    { "prefix": "185.54.94.0\/23", "exact": False, "greater-equal": 24, "less-equal": 24 },
    { "prefix": "31.193.104.0\/21", "exact": True },
    { "prefix": "213.233.192.0\/18", "exact": True },
    { "prefix": "217.26.96.0\/20", "exact": True }
] }


for item in output['Facebook']:
    if item['exact'] == True:
        print ("{}, {}".format(item['prefix'].split('\/')[0], item['exact']))
    else:
        print ("{}, {}".format(item['prefix'].split('\/')[0], item['greater-equal']))

1 commentaires

Je reçois cette erreur: TypeError: les indices de chaîne doivent être entiers



0
votes

Cela devrait fonctionner.

5.45.32.0 True
185.160.58.0 24
5.57.248.0 True
5.206.208.0 True
185.54.94.0 24
31.193.104.0 True
213.233.192.0 True
217.26.96.0 True


0 commentaires

0
votes
5.45.32.0, True
185.160.58.0, 24
5.57.248.0, True
5.206.208.0, True
185.54.94.0, 24
31.193.104.0, True
213.233.192.0, True
217.26.96.0, True

1 commentaires

PS, erreur dans votre code à "exact": true , il peut soit être "exact": "vrai" ou "exact": vrai Et comme.