Salut à tous,
J'essaye de travailler avec un dictionnaire pour plus de rapidité, mais je suis confronté à un problème ... .
Je m'explique, j'ai rempli ce dictionnaire (c'est un très très court extrait) :
dico={..., (165, 45): 27165, (458, 57): 34658, (520, 52): 31720, (98, 0): 98, (151, 14): 8551, (444, 116): 70044, (84, 211): 123636, (377, 79): 47777, (31, 564): 245482, (469, 423): 212496, (363, 108): 65163, (1, 737): 276513, (40, 153): 91840, (349, 177): 106549, (95, 445): 218849, (26, 340): 178085, (411, 274): 151284, (36, 662): 263659, (37, 372): 191052, (23, 161): 96623, (62, 665): 264210, (581, 375): 192638, (536, 596): 251831, (302, 104): 62702, (32, 604): 253253, (235, 199): 118095, (272, 75): 45272, (510, 578): 248336, (537, 753): 279277, (221, 104): 62621, (258, 18): 11058, (576, 25): 15576, (207, 53): 32007, (500, 33): 20300, (562, 100): 60562, (177, 194): 115582, (486, 84): 50886, (126, 191): 114026, (456, 391): 199558, (534, 134): 80934, (511, 483): 228225, (573, 356): 184890, (442, 230): 132406, (82, 193): 114989, (559, 305): 164220, (121, 285): 155766, (174, 273): 150809, (68, 380): 194393, (529, 774): 282614, (414, 256): 143667, (107, 286): 156166, (144, 292): 158679, (453, 294): 159619, (515, 311): 166622, (516, 588): 250285, (42, 714): 272631, (439, 247): 139820, (584, 621): 256473, (79, 156): 93679, (372, 138): 83172, (10, 437): 216561, (51, 758): 280032, (49, 153): 91849, (395, 117): 70595, (328, 80): 48328, (21, 19): 11421, (314, 15): 9314, (7, 32): 19207, (300, 46): 27900, (46, 702): 270604, (233, 85): 51233, (548, 519): 236368, (219, 134): 80619, (2, 672): 265362, (521, 656): 262663, (498, 371): 190913, (560, 250): 141237, (538, 560): 244786, (484, 290): 158007, (546, 293): 159302, (124, 281): 154105, (585, 281): 154383, (200, 249): 140613, (110, 348): 181397, (440, 328): 173455, (495, 418): 210849, (557, 227): 131198, (426, 359): 185954, (172, 135): 81172, (465, 139): 83865, (543, 400): 203697, (105, 188): 112466, (158, 182): 109302, (52, 477): 226722, (513, 69): 41913, (91, 113): 67891, (437, 101): 61037, (77, 62): 37277, (370, 8): 5170, (423, 22): 13623, (63, 255): 143060, (356, 75): 45356}
Ce dico est constitué de plus de 200000 données (ce sont pour les clés : les coordonnées x er y d'une image, et pour les valeurs l'id de ces coordonnées) ; je voudrais obtenir par un dico.keys() une liste, mais dans l'ordre (que ce soit les valeurs de x, que les valeurs de y et les id) . Un dico.keys().sort() ne met dans l'ordre que les x sans tenir compte des y, ni des id) .
Voilà par exemple ce que je voudrais obtenir :
>> dico.keys()
>> [... , (521, 798), (522, 798), (523, 798), (524, 798), (525, 798), (526, 798), (527, 798), (528, 798), (529, 798), (530, 798), (531, 798), (532, 798), (533, 798), (534, 798), (535, 798), (536, 798), (537, 798), (538, 798), (539, 798), (540, 798), (541, 798), (542, 798), (543, 798), (544, 798), (545, 798), (546, 798), (547, 798), (548, 798), (549, 798), (550, 798), (551, 798), (552, 798), (553, 798), (554, 798), (555, 798), (556, 798), (557, 798), (558, 798), (559, 798), (560, 798), (561, 798), (562, 798), ...]
Comment faire ? (A l'aide !!!) . Je voudrais savoir (et pour ce que je veux faire) si vous pensez qu'au niveau du temps d'éxécution (et dans ce cas bien précis) si je dois rester dans l'optique de l'utilisation d'un dictionnaire ? .
J'espère que vous allez pouvoir m'aider .
a+![]()
Partager