Compter les groupes de clés de dictionnaire à l'aide d'un espace réservé

hux0

Le dictionnaire se compose de clés ligne-colonne. Certaines lignes n'ont qu'une seule colonne (r1c1) tandis que d'autres en ont plus (r5c1, r5c2, r5c3 ...). Je voudrais compter les clés (et donc les colonnes) de chaque ligne.

row_dic = {'r1c1': (680, 155, 591, 12), 'r2c1': (679, 195, 592, 12), 'r3c1': (682, 241, 587, 11), 'r3c2': (1542, 252, 179, 30), 'r4c1': (1541, 289, 180, 49), 'r5c1': (455, 344, 226, 18), 'r5c2': (688, 345, 573, 17), 'r5c3': (1268, 345, 265, 18), 'r5c4': (1541, 345, 180, 18), 'r6c1': (454, 370, 227, 17), 'r6c2': (688, 370, 573, 18), 'r6c3': (1268, 370, 264, 18), 'r6c4': (1541, 371, 180, 17), 'r7c1': (454, 395, 227, 18), 'r7c2': (688, 395, 573, 18), 'r7c3': (1268, 396, 264, 17), 'r7c4': (1541, 396, 180, 17), 'r8c1': (454, 420, 227, 68), 'r8c2': (687, 421, 574, 67), 'r8c3': (1268, 421, 264, 67), 'r8c4': (1541, 422, 179, 67), 'r9c1': (454, 495, 226, 43), 'r9c2': (687, 496, 574, 43), 'r9c3': (1268, 496, 264, 43), 'r9c4': (1540, 497, 180, 42), 'r10c1': (453, 546, 227, 42), 'r10c2': (687, 546, 574, 43), 'r10c3': (1268, 546, 263, 43), 'r10c4': (1540, 547, 180, 42), 'r11c1': (453, 596, 227, 42), 'r11c2': (687, 596, 574, 43), 'r11c3': (1267, 597, 264, 42), 'r11c4': (1540, 597, 180, 42), 'r12c1': (453, 646, 227, 18), 'r12c2': (687, 647, 573, 17), 'r12c3': (1267, 647, 264, 18), 'r12c4': (1540, 647, 179, 18), 'r13c1': (453, 672, 227, 17), 'r13c2': (686, 672, 574, 17), 'r13c3': (1267, 672, 264, 18), 'r13c4': (1540, 673, 179, 17), 'r14c1': (453, 697, 227, 17), 'r14c2': (686, 697, 574, 18), 'r14c3': (1267, 697, 264, 18), 'r14c4': (1540, 698, 179, 17), 'r15c1': (453, 722, 227, 42), 'r15c2': (686, 722, 574, 43), 'r15c3': (1267, 723, 264, 42), 'r15c4': (1540, 723, 179, 42), 'r16c1': (453, 772, 227, 17), 'r16c2': (686, 772, 574, 18), 'r16c3': (1267, 773, 264, 17), 'r16c4': (1540, 773, 179, 17), 'r17c1': (453, 797, 227, 68), 'r17c2': (686, 797, 574, 69), 'r17c3': (1267, 798, 264, 68), 'r17c4': (1540, 798, 179, 68), 'r18c1': (453, 873, 226, 17), 'r18c2': (686, 873, 574, 17), 'r18c3': (1267, 874, 263, 17), 'r18c4': (1540, 874, 179, 17), 'r19c1': (453, 898, 226, 18), 'r19c2': (686, 898, 574, 18), 'r19c3': (1267, 899, 263, 17), 'r19c4': (1540, 899, 179, 17), 'r20c1': (453, 923, 226, 18), 'r20c2': (686, 924, 574, 17), 'r20c3': (1267, 924, 263, 18), 'r20c4': (1540, 925, 179, 17), 'r21c1': (452, 949, 227, 67), 'r21c2': (686, 949, 574, 68), 'r21c3': (1267, 949, 263, 68), 'r21c4': (1539, 950, 180, 67), 'r22c1': (452, 1024, 227, 93), 'r22c2': (685, 1025, 574, 92), 'r22c3': (1266, 1025, 264, 92), 'r22c4': (1539, 1025, 179, 92), 'r23c1': (452, 1124, 227, 43), 'r23c2': (685, 1125, 574, 42), 'r23c3': (1266, 1125, 264, 43), 'r23c4': (1539, 1125, 179, 43), 'r24c1': (452, 1175, 227, 17), 'r24c2': (685, 1175, 574, 18), 'r24c3': (1266, 1175, 264, 18), 'r24c4': (1539, 1176, 179, 17), 'r25c1': (452, 1200, 227, 18), 'r25c2': (685, 1200, 574, 18), 'r25c3': (1266, 1201, 263, 17), 'r25c4': (1539, 1201, 179, 17), 'r26c1': (452, 1225, 226, 18), 'r26c2': (685, 1226, 574, 17), 'r26c3': (1266, 1226, 263, 18), 'r26c4': (1539, 1226, 179, 18), 'r27c1': (452, 1251, 226, 17), 'r27c2': (685, 1251, 574, 18), 'r27c3': (1266, 1251, 263, 18), 'r27c4': (1539, 1252, 179, 17), 'r28c1': (452, 1276, 226, 18), 'r28c2': (685, 1276, 574, 18), 'r28c3': (1266, 1277, 263, 17), 'r28c4': (1538, 1277, 180, 17), 'r29c1': (452, 1301, 226, 18), 'r29c2': (685, 1301, 574, 18), 'r29c3': (1266, 1302, 263, 17), 'r29c4': (1538, 1302, 180, 17), 'r30c1': (452, 1326, 226, 18), 'r30c2': (685, 1327, 574, 18), 'r30c3': (1266, 1327, 263, 18), 'r30c4': (1538, 1328, 180, 17), 'r31c1': (452, 1352, 226, 42), 'r31c2': (685, 1352, 574, 43), 'r31c3': (1266, 1352, 263, 43), 'r31c4': (1538, 1353, 180, 42), 'r32c1': (452, 1402, 226, 43), 'r32c2': (685, 1402, 574, 43), 'r32c3': (1265, 1403, 264, 42), 'r32c4': (1538, 1403, 180, 42), 'r33c1': (452, 1452, 226, 18), 'r33c2': (685, 1453, 574, 17), 'r33c3': (1265, 1453, 264, 18), 'r33c4': (1538, 1453, 179, 18), 'r34c1': (452, 1478, 226, 18), 'r34c2': (685, 1478, 574, 18), 'r34c3': (1266, 1478, 263, 18), 'r34c4': (1538, 1478, 179, 18), 'r35c1': (452, 1503, 226, 17), 'r35c2': (685, 1503, 574, 17), 'r35c3': (1266, 1503, 263, 18), 'r35c4': (1538, 1504, 179, 17), 'r36c1': (452, 1528, 226, 52), 'r36c2': (685, 1528, 574, 52), 'r36c3': (1266, 1529, 263, 50), 'r36c4': (1538, 1529, 179, 50), 'r37c1': (1267, 1589, 263, 49), 'r37c2': (1537, 1589, 181, 49), 'r38c1': (1267, 1648, 263, 50), 'r38c2': (1537, 1648, 181, 50), 'r39c1': (1267, 1707, 263, 49), 'r39c2': (1357, 1726, 99, 9), 'r39c3': (1537, 1707, 181, 49), 'r40c1': (1299, 1786, 121, 14)}

J'ai pensé à utiliser un espace réservé pour la valeur, mais je n'ai pas trouvé de solution adéquate pour catégoriser les valeurs dans r1, r2, r3. J'ai essayé ce qui suit, qui n'a pas fonctionné.

for key, value in row_dic.items():
    if 'r%dc' in key:
        counted = Counter(key[:2]).most_common(6)

// counted = Counter(key[:2] for key, value in row_dic.items() if ("r%dc") in key).most_common(9)

La sortie serait bien d'être quelque chose comme:

counted = {r1c: 1, r2c: 1, ..., r5c: 4, ...}
# or
list = [[1], [1], ..., [4], ...]
RoadRunner

A pourrait d'abord itérer les clés, diviser la clé par 'c', puis la compter avec la 'c'réintégration.

from collections import Counter

row_dic = {'r1c1': (680, 155, 591, 12), 'r2c1': (679, 195, 592, 12), 'r3c1': (682, 241, 587, 11), 'r3c2': (1542, 252, 179, 30), 'r4c1': (1541, 289, 180, 49), 'r5c1': (455, 344, 226, 18), 'r5c2': (688, 345, 573, 17), 'r5c3': (1268, 345, 265, 18), 'r5c4': (1541, 345, 180, 18), 'r6c1': (454, 370, 227, 17), 'r6c2': (688, 370, 573, 18), 'r6c3': (1268, 370, 264, 18), 'r6c4': (1541, 371, 180, 17), 'r7c1': (454, 395, 227, 18), 'r7c2': (688, 395, 573, 18), 'r7c3': (1268, 396, 264, 17), 'r7c4': (1541, 396, 180, 17), 'r8c1': (454, 420, 227, 68), 'r8c2': (687, 421, 574, 67), 'r8c3': (1268, 421, 264, 67), 'r8c4': (1541, 422, 179, 67), 'r9c1': (454, 495, 226, 43), 'r9c2': (687, 496, 574, 43), 'r9c3': (1268, 496, 264, 43), 'r9c4': (1540, 497, 180, 42), 'r10c1': (453, 546, 227, 42), 'r10c2': (687, 546, 574, 43), 'r10c3': (1268, 546, 263, 43), 'r10c4': (1540, 547, 180, 42), 'r11c1': (453, 596, 227, 42), 'r11c2': (687, 596, 574, 43), 'r11c3': (1267, 597, 264, 42), 'r11c4': (1540, 597, 180, 42), 'r12c1': (453, 646, 227, 18), 'r12c2': (687, 647, 573, 17), 'r12c3': (1267, 647, 264, 18), 'r12c4': (1540, 647, 179, 18), 'r13c1': (453, 672, 227, 17), 'r13c2': (686, 672, 574, 17), 'r13c3': (1267, 672, 264, 18), 'r13c4': (1540, 673, 179, 17), 'r14c1': (453, 697, 227, 17), 'r14c2': (686, 697, 574, 18), 'r14c3': (1267, 697, 264, 18), 'r14c4': (1540, 698, 179, 17), 'r15c1': (453, 722, 227, 42), 'r15c2': (686, 722, 574, 43), 'r15c3': (1267, 723, 264, 42), 'r15c4': (1540, 723, 179, 42), 'r16c1': (453, 772, 227, 17), 'r16c2': (686, 772, 574, 18), 'r16c3': (1267, 773, 264, 17), 'r16c4': (1540, 773, 179, 17), 'r17c1': (453, 797, 227, 68), 'r17c2': (686, 797, 574, 69), 'r17c3': (1267, 798, 264, 68), 'r17c4': (1540, 798, 179, 68), 'r18c1': (453, 873, 226, 17), 'r18c2': (686, 873, 574, 17), 'r18c3': (1267, 874, 263, 17), 'r18c4': (1540, 874, 179, 17), 'r19c1': (453, 898, 226, 18), 'r19c2': (686, 898, 574, 18), 'r19c3': (1267, 899, 263, 17), 'r19c4': (1540, 899, 179, 17), 'r20c1': (453, 923, 226, 18), 'r20c2': (686, 924, 574, 17), 'r20c3': (1267, 924, 263, 18), 'r20c4': (1540, 925, 179, 17), 'r21c1': (452, 949, 227, 67), 'r21c2': (686, 949, 574, 68), 'r21c3': (1267, 949, 263, 68), 'r21c4': (1539, 950, 180, 67), 'r22c1': (452, 1024, 227, 93), 'r22c2': (685, 1025, 574, 92), 'r22c3': (1266, 1025, 264, 92), 'r22c4': (1539, 1025, 179, 92), 'r23c1': (452, 1124, 227, 43), 'r23c2': (685, 1125, 574, 42), 'r23c3': (1266, 1125, 264, 43), 'r23c4': (1539, 1125, 179, 43), 'r24c1': (452, 1175, 227, 17), 'r24c2': (685, 1175, 574, 18), 'r24c3': (1266, 1175, 264, 18), 'r24c4': (1539, 1176, 179, 17), 'r25c1': (452, 1200, 227, 18), 'r25c2': (685, 1200, 574, 18), 'r25c3': (1266, 1201, 263, 17), 'r25c4': (1539, 1201, 179, 17), 'r26c1': (452, 1225, 226, 18), 'r26c2': (685, 1226, 574, 17), 'r26c3': (1266, 1226, 263, 18), 'r26c4': (1539, 1226, 179, 18), 'r27c1': (452, 1251, 226, 17), 'r27c2': (685, 1251, 574, 18), 'r27c3': (1266, 1251, 263, 18), 'r27c4': (1539, 1252, 179, 17), 'r28c1': (452, 1276, 226, 18), 'r28c2': (685, 1276, 574, 18), 'r28c3': (1266, 1277, 263, 17), 'r28c4': (1538, 1277, 180, 17), 'r29c1': (452, 1301, 226, 18), 'r29c2': (685, 1301, 574, 18), 'r29c3': (1266, 1302, 263, 17), 'r29c4': (1538, 1302, 180, 17), 'r30c1': (452, 1326, 226, 18), 'r30c2': (685, 1327, 574, 18), 'r30c3': (1266, 1327, 263, 18), 'r30c4': (1538, 1328, 180, 17), 'r31c1': (452, 1352, 226, 42), 'r31c2': (685, 1352, 574, 43), 'r31c3': (1266, 1352, 263, 43), 'r31c4': (1538, 1353, 180, 42), 'r32c1': (452, 1402, 226, 43), 'r32c2': (685, 1402, 574, 43), 'r32c3': (1265, 1403, 264, 42), 'r32c4': (1538, 1403, 180, 42), 'r33c1': (452, 1452, 226, 18), 'r33c2': (685, 1453, 574, 17), 'r33c3': (1265, 1453, 264, 18), 'r33c4': (1538, 1453, 179, 18), 'r34c1': (452, 1478, 226, 18), 'r34c2': (685, 1478, 574, 18), 'r34c3': (1266, 1478, 263, 18), 'r34c4': (1538, 1478, 179, 18), 'r35c1': (452, 1503, 226, 17), 'r35c2': (685, 1503, 574, 17), 'r35c3': (1266, 1503, 263, 18), 'r35c4': (1538, 1504, 179, 17), 'r36c1': (452, 1528, 226, 52), 'r36c2': (685, 1528, 574, 52), 'r36c3': (1266, 1529, 263, 50), 'r36c4': (1538, 1529, 179, 50), 'r37c1': (1267, 1589, 263, 49), 'r37c2': (1537, 1589, 181, 49), 'r38c1': (1267, 1648, 263, 50), 'r38c2': (1537, 1648, 181, 50), 'r39c1': (1267, 1707, 263, 49), 'r39c2': (1357, 1726, 99, 9), 'r39c3': (1537, 1707, 181, 49), 'r40c1': (1299, 1786, 121, 14)}

counts = Counter()
for row_col in row_dic:
    row, _ = row_col.split("c")
    counts[row + 'c'] += 1

print(counts)

Ou en one-liner:

Counter(row_col.split("c")[0] + 'c' for row_col in row_dic)

Production:

Counter({'r5c': 4, 'r6c': 4, 'r7c': 4, 'r8c': 4, 'r9c': 4, 'r10c': 4, 'r11c': 4, 'r12c': 4, 'r13c': 4, 'r14c': 4, 'r15c': 4, 'r16c': 4, 'r17c': 4, 'r18c': 4, 'r19c': 4, 'r20c': 4, 'r21c': 4, 'r22c': 4, 'r23c': 4, 'r24c': 4, 'r25c': 4, 'r26c': 4, 'r27c': 4, 'r28c': 4, 'r29c': 4, 'r30c': 4, 'r31c': 4, 'r32c': 4, 'r33c': 4, 'r34c': 4, 'r35c': 4, 'r36c': 4, 'r39c': 3, 'r3c': 2, 'r37c': 2, 'r38c': 2, 'r1c': 1, 'r2c': 1, 'r4c': 1, 'r40c': 1})

Remarque: Counter est une sous-classe de dict, donc le résultat est toujours un dictionnaire. Si vous voulez que le résultat soit dict, vous pouvez lancer dict:

print(dict(counts))
# {'r1c': 1, 'r2c': 1, 'r3c': 2, 'r4c': 1, 'r5c': 4, 'r6c': 4, 'r7c': 4, 'r8c': 4, 'r9c': 4, 'r10c': 4, 'r11c': 4, 'r12c': 4, 'r13c': 4, 'r14c': 4, 'r15c': 4, 'r16c': 4, 'r17c': 4, 'r18c': 4, 'r19c': 4, 'r20c': 4, 'r21c': 4, 'r22c': 4, 'r23c': 4, 'r24c': 4, 'r25c': 4, 'r26c': 4, 'r27c': 4, 'r28c': 4, 'r29c': 4, 'r30c': 4, 'r31c': 4, 'r32c': 4, 'r33c': 4, 'r34c': 4, 'r35c': 4, 'r36c': 4, 'r37c': 2, 'r38c': 2, 'r39c': 3, 'r40c': 1}

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

comment supprimer de l'espace supplémentaire devant les clés d'un dictionnaire?

supprimer l'espace dans les clés d'un objet imbriqué à l'aide de javascript

Supprimer l'espace dans les clés d'un dictionnaire

Compter les parties d'une liste de tuples dans un dictionnaire de clés

Décompresser les clés de tuple d'un dictionnaire en clés individuelles à l'aide de la compréhension du dictionnaire en Python

Erreur "Vous devez alimenter une valeur pour le tenseur d'espace réservé" lors de la création d'un modèle composé de deux sous-modèles, tous créés à l'aide d'une API fonctionnelle

Impression de paires clé-valeur de dictionnaire avec une chaîne d'espace réservé

Comment modifier un format de texte d'espace réservé Microsoft Word Content Control à l'aide d'un script VBA ?

Utiliser les propriétés d'un autre espace réservé de propriété dans le configurateur d'espace réservé de propriété

remplacer les balises d'espace réservé par des champs de dictionnaire en python

Comment définir une photo de profil si elle existe à l'aide de Glide, sinon utiliser un espace réservé ?

Comment ajouter une image à un espace réservé d'image ajouté dans pptx à l'aide de l'API Apache POI?

Remplacer les valeurs de colonne à l'aide d'un dictionnaire

Recherche de l'index d'un élément de texte d'espace réservé dans un tableau google doc à l'aide d'un script d'application

Moyen efficace de remplacer les espaces réservés dans une chaîne à l'aide d'un objet éloquent

Enregistrement d'un dictionnaire de valeurs-clés dans Firebase à l'aide de Swift

Angular 4/2 à l'aide de FormBuilder, puis-je définir un espace réservé et une étiquette ?

Vitess: initialiser le schéma d'espace de clés à l'aide d'un fichier SQL

Compter le nombre de lettres dans une variable à l'aide d'un dictionnaire en python

Comment supprimer des éléments d'espace réservé non renseignés à l'aide de python-pptx

Obtenir un chemin d'accès complet du dictionnaire vers une clé spécifique à l'aide de la réflexion

Comment étendre le sélecteur d'espace réservé dans Sass à l'aide de la règle @use

Les clés de dictionnaire numériques comme espaces réservés lors de l'impression de chaînes?

JavaScript Mise à jour d'un dictionnaire à partir d'un tableau de valeurs à l'aide d'un tableau de clés

Comment définir un espace réservé pour une entrée d'un champ de flux à l'aide de l'API de flux dans pyrocms?

Existe-t-il une liste de tous les mots clés réservés pour un espace de noms?

à l'aide de lambda, filtre pour extraire les valeurs d'un dictionnaire en fonction des valeurs de clé de liste

Compter les éléments de dans un dictionnaire imbriqué multiple

Comment ne compter que les mots d'un dictionnaire, tout en renvoyant un compte du nom de clé du dictionnaire

TOP liste

  1. 1

    Filtrer le dataframe basé sur plusieurs colonnes d'un autre dataframe

  2. 2

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  3. 3

    Enregistrer le chemin de l'image de la galerie vers la base de données de la salle et l'afficher dans la liste des recycleurs

  4. 4

    Comment afficher du texte au milieu de div avec une couleur d'arrière-plan différente?

  5. 5

    Microsoft.WebApplication.targets

  6. 6

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  7. 7

    Échec de l'exécution de 'insertBefore' sur 'Node': le paramètre 1 n'est pas de type 'Node'

  8. 8

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  9. 9

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

  10. 10

    comment afficher un bouton au-dessus d'un autre élément ?

  11. 11

    Comment centrer un div tout en utilisant la transition et transformer avec l'échelle

  12. 12

    Filtrer les données en fonction des conditions d'une trame de données

  13. 13

    ESP8266 HADRWARE MINUTERIE, USA pour cocher une macro étrange

  14. 14

    Comment définir du texte dans un QLabel et afficher les caractères '<>'?

  15. 15

    System.Data.SqlClient.SqlException: 'Nom de colonne non valide' ApplicationRoleId '.'

  16. 16

    Pourquoi Phantomjs ne fonctionne pas avec ce site ?

  17. 17

    Stop jQuery execution after one time execution

  18. 18

    Concaténer des variables dans ansible

  19. 19

    Comment calculer la probabilité du graphique de densité?

  20. 20

    php ajouter et fusionner des données de deux tables

  21. 21

    Redirection HTTP vers HTTPS dans Java à l'aide de HTTPURLConnection

chaudétiquette

Archive