Создайте алгоритм для сбора баллов, разница которых меньше значения с заданным условием - PullRequest
0 голосов
/ 30 апреля 2019

Привет, у меня есть список кортежей, приведенный ниже:

[(2031, 0.11078125), (2032, 0.11131274999999999), (1298, 0.11819950000000001), (2033, 0.12396399999999999), (2030, 0.13113425), (1238, 0.13305375), (2886, 0.1332045), (2704, 0.13512125000000003), (1299, 0.13639975), (1308, 0.136436), (957, 0.13736575), (2698, 0.1374555), (2768, 0.137864), (1297, 0.13829075000000002), (1959, 0.13873375), (1958, 0.138735), (2767, 0.13879425), (958, 0.13962175000000002), (1964, 0.140166), (2053, 0.1401945), (1239, 0.14069199999999998), (1960, 0.14110475), (2766, 0.14110925000000002), (2895, 0.14115875), (2888, 0.14188275), (2705, 0.14230725), (2699, 0.14240399999999998), (2650, 0.142421), (2128, 0.14244425), (2538, 0.1424475), (1309, 0.14264500000000002), (2707, 0.14269675), (2887, 0.14279550000000002), (1248, 0.1429215), (1243, 0.1429535), (1965, 0.14300025), (2765, 0.14301000000000003), (2885, 0.14332849999999997), (2703, 0.1435165), (2764, 0.14352375), (1970, 0.1435345), (1593, 0.14357799999999998), (1237, 0.14358700000000002), (2769, 0.14420025), (2761, 0.14423350000000001), (2701, 0.144438), (2762, 0.14454975000000003), (2763, 0.14461125), (1798, 0.144668), (2539, 0.14476624999999999), (2777, 0.144777), (2776, 0.14496525), (2182, 0.14510299999999998), (2266, 0.14516175), (2340, 0.14517575), (2205, 0.14528575), (2178, 0.14538975), (2594, 0.145756), (2809, 0.14581275), (2222, 0.1458145), (2129, 0.14591325), (2567, 0.14596874999999998), (2379, 0.14602925), (2702, 0.146056), (2002, 0.14606249999999998), (2700, 0.146064), (2130, 0.14613150000000003), (1311, 0.14629925), (2722, 0.14631450000000001), (2893, 0.146318), (1976, 0.1465105), (2749, 0.146584), (2811, 0.14666025), (2459, 0.14666825), (2123, 0.1467385), (2694, 0.14679775), (2755, 0.14679799999999998), (2273, 0.14683849999999998), (2775, 0.1468465), (2239, 0.14688125), (2339, 0.14692625), (2816, 0.14692650000000002), (1967, 0.146936), (2134, 0.14694075), (2810, 0.146965), (2317, 0.14699325000000002), (2750, 0.14701525), (2384, 0.14702300000000001), (1291, 0.14702500000000002), (2068, 0.14706799999999998), (2354, 0.1470765), (2187, 0.14708075), (2706, 0.14712225), (2378, 0.14715275), (1242, 0.14719575000000001), (2255, 0.14722725), (1966, 0.1472295), (2819, 0.14724575), (2642, 0.147249), (2760, 0.1472565), (1264, 0.14729075), (2695, 0.14737075), (1214, 0.14738025), (1797, 0.1474315), (2405, 0.1474475), (2498, 0.14750175000000001), (2514, 0.147638), (2272, 0.147661), (2126, 0.14766425), (2894, 0.14766775), (2889, 0.1477195), (2342, 0.147764), (2578, 0.1478375), (2734, 0.14788374999999998), (1969, 0.147885), (1971, 0.14794325), (1963, 0.147956), (2559, 0.14796550000000003), (2565, 0.14799099999999998), (2341, 0.14799875), (2651, 0.14801175), (2635, 0.14809525), (2779, 0.1481255), (2582, 0.14821975), (1611, 0.148261), (2658, 0.14827), (1249, 0.14828275000000002), (2756, 0.148304), (2708, 0.14836824999999998), (2346, 0.14842624999999998), (2654, 0.14844600000000002), (2828, 0.1485185), (2347, 0.14852625), (2790, 0.148532), (2773, 0.14855125), (1841, 0.14856175), (2721, 0.1486245), (2209, 0.14868575), (2509, 0.14870375000000002), (2822, 0.1487095), (2709, 0.1487215), (2328, 0.14872249999999998), (2836, 0.14872575), (2039, 0.148794), (1961, 0.1488375), (1592, 0.14888), (2316, 0.14892275), (2010, 0.14895350000000002), (2177, 0.14898925), (2579, 0.1490005), (2256, 0.149098), (2200, 0.1491195), (2133, 0.14913125), (2221, 0.14921), (2124, 0.1492175), (2537, 0.14921849999999998), (2206, 0.149226), (2560, 0.1492375), (2219, 0.14926499999999998), (2245, 0.149272), (2892, 0.14928450000000001), (2451, 0.14929825000000002), (2733, 0.14929874999999998), (2469, 0.14932849999999998), (2774, 0.14944325), (2188, 0.14947325), (2145, 0.14947950000000002), (2194, 0.14948224999999998), (2377, 0.149489), (2175, 0.14949975000000001), (2166, 0.14950524999999998), (2605, 0.149513), (2207, 0.14955174999999998), (2817, 0.149553), (2072, 0.1495935), (2204, 0.14960400000000001), (2791, 0.1496205), (2238, 0.14962324999999999), (2394, 0.14963500000000002), (2663, 0.14968125000000002), (2680, 0.14970850000000002), (2691, 0.14971724999999997), (1586, 0.14974125), (2001, 0.14976024999999998), (2362, 0.14976024999999998), (2593, 0.14976699999999998), (2127, 0.14977475), (2745, 0.14978525), (2820, 0.149811), (2759, 0.14982025), (2162, 0.14982174999999998), (2488, 0.14982425), (2653, 0.14983275), (2240, 0.14985025000000002), (1659, 0.14985125), (1244, 0.14985150000000003), (2746, 0.149864), (2780, 0.149879), (1310, 0.1499), (1977, 0.149926), (2208, 0.14992825), (2724, 0.1499455), (2891, 0.1499635), (2327, 0.149984), (2789, 0.150012), (2450, 0.15004450000000003), (2343, 0.15005374999999999), (2381, 0.15005975), (2833, 0.15009075), (2503, 0.1501525), (2270, 0.15017750000000002), (2754, 0.15024349999999997), (2606, 0.15025775), (2561, 0.15025975), (1952, 0.15028724999999998), (2692, 0.1502905), (2135, 0.1503005), (2783, 0.15031325), (2304, 0.15032374999999998), (2254, 0.15032375), (2596, 0.1503265), (2835, 0.15034225), (2566, 0.150362), (2404, 0.150366), (2487, 0.1504145), (2385, 0.15043924999999997), (2562, 0.15046775), (2615, 0.1505105), (2074, 0.15052025000000002), (2679, 0.150523), (2720, 0.15052749999999998), (2228, 0.150533), (1286, 0.15057125), (2480, 0.1505935), (2523, 0.15059475), (2201, 0.150602), (2544, 0.15063124999999997), (2225, 0.15064475), (2753, 0.1506585), (1957, 0.150659), (2125, 0.15066625), (2580, 0.15068525), (2067, 0.15075125), (2045, 0.1507845), (2310, 0.15079325), (2040, 0.15080749999999998), (2657, 0.150808), (2271, 0.1508195), (2231, 0.1508755), (2735, 0.15089075), (1951, 0.15090900000000002), (2318, 0.15092075), (2592, 0.15094575000000002), (2508, 0.15096375), (2513, 0.15097475), (2167, 0.15097525), (2462, 0.15098574999999997), (2212, 0.15098974999999998), (2751, 0.150999), (2321, 0.15101025), (2223, 0.1510695), (2652, 0.1510705), (2834, 0.15109775), (2659, 0.151103), (2243, 0.15111175), (2634, 0.151121), (2723, 0.15113549999999998), (2823, 0.15117025), (2463, 0.1511765), (2504, 0.15120375000000003), (2808, 0.151277), (2224, 0.15128425), (2210, 0.15129075), (2092, 0.15129225), (2815, 0.151302), (1647, 0.15131075), (2406, 0.15131725000000001), (2370, 0.15131775), (2890, 0.1513275), (2367, 0.151333), (2241, 0.151337), (2655, 0.15137775), (2664, 0.15139275), (1292, 0.15141675), (2570, 0.151429), (2627, 0.15143975), (2474, 0.151453), (1215, 0.151455), (2380, 0.15148475), (2847, 0.15150875), (2073, 0.15152549999999998), (2522, 0.15154175000000003), (2625, 0.151577), (2502, 0.15157875), (2784, 0.1515935), (2649, 0.15159574999999997), (2195, 0.151603), (2736, 0.1516035), (2202, 0.15160425), (2250, 0.151619), (2249, 0.15162125), (2408, 0.15162425000000002), (2624, 0.15163500000000002), (2693, 0.15166249999999998), (2470, 0.15166425), (2738, 0.1516655), (2320, 0.15168275000000003), (1700, 0.15169074999999999), (2333, 0.151731), (2091, 0.15175075000000002), (2510, 0.1517675), (2690, 0.15178925), (2267, 0.151796), (2203, 0.1517995), (2778, 0.15180000000000002), (2497, 0.1518315), (2146, 0.1518335), (1981, 0.15183975), (2314, 0.15184725), (2020, 0.151875), (2812, 0.15189750000000002), (1811, 0.15192899999999998), (2668, 0.15194400000000002), (2643, 0.15194575), (2542, 0.15196625), (2818, 0.15196625000000002), (2636, 0.15198625), (2543, 0.15199374999999998), (2041, 0.151995), (2618, 0.152008), (1932, 0.15201925), (2142, 0.15202349999999998), (2179, 0.15203499999999998), (2176, 0.15204125000000002), (2788, 0.15205999999999997), (2813, 0.152087), (2353, 0.15210025), (1069, 0.15210925), (2597, 0.15212074999999997), (2512, 0.15213825000000003), (2603, 0.1521495), (2181, 0.1521555), (2251, 0.152157), (2416, 0.152194), (2138, 0.15219700000000003), (2814, 0.15220050000000002), (2003, 0.15220125), (2607, 0.15220275), (2453, 0.15220525000000001), (2601, 0.15221075), (2307, 0.15222525), (2595, 0.15222750000000002), (2465, 0.15224900000000002), (2672, 0.15225275), (2506, 0.152291), (2174, 0.15229775), (2483, 0.15231325), (2748, 0.15231699999999998), (2197, 0.15231725000000002), (2356, 0.15236975), (1725, 0.152372), (2147, 0.152397), (2009, 0.15244825), (2368, 0.15245175), (2468, 0.1524615), (2355, 0.15246625000000003), (2366, 0.15249675), (2499, 0.1524975), (2395, 0.15251325), (2229, 0.15254325000000002), (1745, 0.15255000000000002), (2581, 0.15255875), (1766, 0.15256225), (2242, 0.1525675), (2265, 0.152593), (2007, 0.15261049999999998), (2213, 0.152639), (2626, 0.15265299999999998), (2517, 0.15265325000000002), (2305, 0.152657), (2752, 0.152661), (2330, 0.1527135), (2807, 0.15271400000000002), (2140, 0.152727), (2747, 0.15273799999999998), (2473, 0.15274975000000002), (2758, 0.15275624999999998), (2168, 0.15279474999999998), (2144, 0.1528045), (2614, 0.15280749999999999), (2325, 0.15281075), (2373, 0.15282400000000002), (2011, 0.15283475), (2518, 0.15285725), (2363, 0.1528605), (1765, 0.15287225000000002), (2676, 0.15288025), (2382, 0.15288375), (2359, 0.15290350000000003), (2193, 0.15292700000000004), (2617, 0.15294799999999997), (2507, 0.15295550000000002), (1980, 0.15296149999999997), (2600, 0.15296575), (2357, 0.15298299999999998), (2449, 0.1529855), (1660, 0.15300750000000002), (2248, 0.15304174999999998), (2511, 0.15304925), (1290, 0.153057), (2180, 0.1530925), (1701, 0.15311750000000002), (1272, 0.15313275), (1968, 0.15313300000000002), (2841, 0.15313725), (2689, 0.153142), (2349, 0.15319500000000003), (2218, 0.15319850000000002), (2374, 0.15321774999999999), (2829, 0.153219), (2131, 0.1532505), (2085, 0.153259), (2409, 0.15327825), (2646, 0.15329075), (2725, 0.15329225000000002), (2683, 0.15329525), (2244, 0.153302), (2772, 0.15330775000000002), (2609, 0.15332125), (1612, 0.15336325), (2104, 0.15337699999999999), (2571, 0.15337775), (2361, 0.153382), (2415, 0.15339), (820, 0.15345525), (1845, 0.15345525), (2661, 0.1534625), (2386, 0.15347375000000002), (2246, 0.15347824999999998), (2311, 0.15347975), (2452, 0.15348374999999997), (1240, 0.15349), (2105, 0.15349375), (2482, 0.153494), (1812, 0.153495), (2485, 0.15355), (2252, 0.15355225), (2832, 0.15359425), (1234, 0.15360825), (2838, 0.153613), (2448, 0.1536245), (2727, 0.15364175), (2329, 0.15366749999999998), (2671, 0.15366950000000001), (2096, 0.1536725), (1585, 0.15367325), (2069, 0.15367799999999998), (2319, 0.153682), (2806, 0.1536945), (1265, 0.1537135), (2575, 0.15372725), (2604, 0.15375125), (2548, 0.153754), (2383, 0.153758), (2637, 0.15375875), (2669, 0.15377), (2479, 0.153773), (2161, 0.15380225000000003), (2141, 0.15381899999999998), (2211, 0.15382174999999998), (2786, 0.15382625), (2568, 0.15385224999999997), (2159, 0.1538545), (2460, 0.1538545), (2237, 0.15386450000000002), (2728, 0.15386450000000002), (2622, 0.15386675), (2515, 0.15387575), (1962, 0.15388849999999998), (2493, 0.15390075), (2770, 0.1539065), (2034, 0.15392525), (2413, 0.1539255), (2602, 0.15396574999999998), (2675, 0.15396725), (2157, 0.1539715), (2021, 0.153979), (2044, 0.1539815), (2214, 0.15400049999999998), (2616, 0.15400275000000002), (2697, 0.15400724999999998), (1849, 0.1540155), (2309, 0.1540235), (2718, 0.15404774999999998), (1705, 0.15406525), (2730, 0.15406550000000002), (2086, 0.15409975), (2521, 0.1541035), (2574, 0.1541055), (2821, 0.1541055), (2390, 0.1541265), (2324, 0.15415099999999998), (1933, 0.15415925), (2306, 0.15416675000000002), (2082, 0.1541785), (2345, 0.1541925), (2360, 0.15422025), (2719, 0.15422575), (2313, 0.1542375), (2198, 0.15427849999999999), (1743, 0.1542925), (2101, 0.15430425), (2684, 0.15430525), (2263, 0.154307), (2686, 0.1543405), (1820, 0.15434599999999998), (2322, 0.154355), (2782, 0.154357), (1367, 0.15436375000000002), (2025, 0.15438249999999998), (2545, 0.154397), (2726, 0.15440225000000002), (2687, 0.15441725), (2842, 0.15441725), (2172, 0.1544535), (2525, 0.15445575), (2771, 0.15446549999999998), (2026, 0.1545015), (2139, 0.15450324999999998), (2540, 0.15450724999999998), (2081, 0.1545185), (1851, 0.1545215), (1850, 0.15452925), (2619, 0.15454325000000002), (2464, 0.15454449999999997), (2315, 0.15454974999999999), (2412, 0.15455075000000001), (2122, 0.15455825), (2080, 0.1545705), (2102, 0.15458025), (2454, 0.15462175), (2411, 0.1546225), (2269, 0.15462475), (2787, 0.154627), (2230, 0.15465175), (1579, 0.154652), (1610, 0.1546615), (1750, 0.1546735), (2496, 0.15467474999999997), (2189, 0.15470850000000003), (2117, 0.15471849999999998), (2303, 0.1547315), (2660, 0.15473474999999998), (2358, 0.15473575), (2165, 0.15473925), (2326, 0.15475275), (2805, 0.15475424999999998), (2685, 0.15476725), (2308, 0.15478399999999998), (2088, 0.15480225), (2500, 0.1548075), (2688, 0.15481175), (2472, 0.15481725000000002), (1247, 0.15482125), (2583, 0.1548425), (2461, 0.15485125), (2258, 0.15486325), (2516, 0.15487775)]

Этот список можно продолжить, и я только делаю снимок списка.Здесь мне нужно сравнить значения, предположим, что 2-е значение 1-го кортежа (0,1107 ...). Мне нужно сравнить это с остальными 2-мя значениями в кортежах и собрать кортежи, у которых разница меньше, чем, скажем, 0,01.

После сбора всех кортежей мне нужно отфильтровать те кортежи, чьи значения первого кортежа не являются последовательными.Например, я получил кортежи, как показано ниже: [(23,0.123) , (24,0.128) , (39,0.126)].Здесь хоть второе значение tuple with index 39 is less than 0.01 compared to the reference 0.123 (of 23) its not consecutive with 23,24.Следовательно, его необходимо отфильтровать.

Теперь, когда я собрал кортежи, мне не нужно заботиться об этих кортежах, так как начинайте думать об остальных.Я делаю это до тех пор, пока не получу полный список (некоторые из них не имеют значения), но над двумя условиями должно быть выполнено, т.е. менее 0,01 и последовательно.

Я знаю, что этобольшой вопросЕсли я недооценил какой-либо момент, пожалуйста, дайте мне знать в комментариях.

1 Ответ

0 голосов
/ 30 апреля 2019

Сортировка данных по идентификатору.Потому что вы хотите последовательные значения.

Затем сравните каждое второе значение с его предшественниками.Если они отличаются меньше вашего порога, они объединяются.В противном случае они не делают.Достаточно простой петли for.

...