2016-07-15 86 views
0

我希望有人能給我一些關於如何加快以下過程的提示。它並不是很慢,但任何時候贏得可能是非常有幫助的。有沒有辦法讓這個序列創建器更快?

from datetime import datetime 
START_CLOCK = datetime.now() 
TotalNumbcol = 266 
NeighborsperColumn = [[3, 2, 5, 6, 7], [3, 6, 1, 7, 5, 4, 10, 11, 12, 13], [7, 2, 1, 6, 5, 11, 12, 13], [5, 10, 11, 9, 2, 6, 8, 12, 16, 17, 18, 19, 20], [6, 11, 4, 2, 12, 10, 1, 3, 7, 9, 13, 17, 18, 19, 20], [7, 12, 5, 2, 3, 13, 11, 1, 4, 10, 18, 19, 20], [13, 6, 3, 12, 2, 1, 5, 11, 19, 20], [9, 16, 17, 15, 4, 10, 14, 18, 24, 25, 26, 27, 28], [10, 17, 8, 4, 18, 16, 5, 11, 15, 19, 25, 26, 27, 28, 29], [11, 18, 9, 4, 5, 19, 17, 2, 6, 8, 12, 16, 20, 26, 27, 28, 29], [12, 19, 10, 5, 6, 20, 18, 4, 2, 3, 7, 9, 13, 17, 27, 28, 29], [13, 20, 11, 6, 7, 19, 5, 2, 3, 4, 10, 18, 28, 29], [12, 7, 20, 6, 2, 3, 5, 11, 19, 29], [15, 24, 25, 23, 8, 16, 22, 26, 34, 35, 36, 37, 38], [16, 25, 14, 8, 26, 24, 9, 17, 23, 27, 35, 36, 37, 38, 39], [17, 26, 15, 8, 9, 27, 25, 4, 10, 14, 18, 24, 28, 36, 37, 38, 39, 40], [18, 27, 16, 9, 10, 28, 26, 8, 4, 5, 11, 15, 19, 25, 29, 37, 38, 39, 40, 41], [19, 28, 17, 10, 11, 29, 27, 9, 4, 5, 6, 8, 12, 16, 20, 26, 38, 39, 40, 41], [20, 29, 18, 11, 12, 28, 10, 4, 5, 6, 7, 9, 13, 17, 27, 39, 40, 41], [19, 12, 13, 29, 11, 4, 5, 6, 7, 10, 18, 28, 40, 41], [22, 33, 34, 32, 23, 31, 35, 45, 46, 47, 48, 49], [23, 34, 21, 35, 33, 14, 24, 32, 36, 46, 47, 48, 49, 50], [24, 35, 22, 14, 36, 34, 15, 21, 25, 33, 37, 47, 48, 49, 50, 51], [25, 36, 23, 14, 15, 37, 35, 8, 16, 22, 26, 34, 38, 48, 49, 50, 51, 52], [26, 37, 24, 15, 16, 38, 36, 14, 8, 9, 17, 23, 27, 35, 39, 49, 50, 51, 52, 53], [27, 38, 25, 16, 17, 39, 37, 15, 8, 9, 10, 14, 18, 24, 28, 36, 40, 50, 51, 52, 53, 54], [28, 39, 26, 17, 18, 40, 38, 16, 8, 9, 10, 11, 15, 19, 25, 29, 37, 41, 51, 52, 53, 54], [29, 40, 27, 18, 19, 41, 39, 17, 8, 9, 10, 11, 12, 16, 20, 26, 38, 52, 53, 54], [41, 28, 19, 20, 40, 18, 9, 10, 11, 12, 13, 17, 27, 39, 53, 54], [31, 44, 45, 43, 32, 42, 46, 58, 59, 60, 61, 62], [32, 45, 30, 46, 44, 21, 33, 43, 47, 59, 60, 61, 62, 63], [33, 46, 31, 21, 47, 45, 22, 30, 34, 44, 48, 60, 61, 62, 63, 64], [34, 47, 32, 21, 22, 48, 46, 23, 31, 35, 45, 49, 61, 62, 63, 64, 65], [35, 48, 33, 22, 23, 49, 47, 21, 14, 24, 32, 36, 46, 50, 62, 63, 64, 65, 66], [36, 49, 34, 23, 24, 50, 48, 22, 14, 15, 21, 25, 33, 37, 47, 51, 63, 64, 65, 66, 67], [37, 50, 35, 24, 25, 51, 49, 23, 14, 15, 16, 22, 26, 34, 38, 48, 52, 64, 65, 66, 67, 68], [38, 51, 36, 25, 26, 52, 50, 24, 14, 15, 16, 17, 23, 27, 35, 39, 49, 53, 65, 66, 67, 68, 69], [39, 52, 37, 26, 27, 53, 51, 25, 14, 15, 16, 17, 18, 24, 28, 36, 40, 50, 54, 66, 67, 68, 69], [40, 53, 38, 27, 28, 54, 52, 26, 15, 16, 17, 18, 19, 25, 29, 37, 41, 51, 67, 68, 69], [41, 54, 39, 28, 29, 53, 27, 16, 17, 18, 19, 20, 26, 38, 52, 68, 69], [40, 29, 54, 28, 17, 18, 19, 20, 27, 39, 53, 69], [43, 58, 59, 57, 30, 44, 56, 60, 74, 75, 76, 77, 78], [44, 59, 42, 30, 60, 58, 31, 45, 57, 61, 75, 76, 77, 78, 79], [45, 60, 43, 30, 31, 61, 59, 32, 42, 46, 58, 62, 76, 77, 78, 79, 80], [46, 61, 44, 31, 32, 62, 60, 30, 21, 33, 43, 47, 59, 63, 77, 78, 79, 80, 81], [47, 62, 45, 32, 33, 63, 61, 31, 21, 22, 30, 34, 44, 48, 60, 64, 78, 79, 80, 81, 82], [48, 63, 46, 33, 34, 64, 62, 32, 21, 22, 23, 31, 35, 45, 49, 61, 65, 79, 80, 81, 82, 83], [49, 64, 47, 34, 35, 65, 63, 33, 21, 22, 23, 24, 32, 36, 46, 50, 62, 66, 80, 81, 82, 83, 84], [50, 65, 48, 35, 36, 66, 64, 34, 21, 22, 23, 24, 25, 33, 37, 47, 51, 63, 67, 81, 82, 83, 84, 85], [51, 66, 49, 36, 37, 67, 65, 35, 22, 23, 24, 25, 26, 34, 38, 48, 52, 64, 68, 82, 83, 84, 85], [52, 67, 50, 37, 38, 68, 66, 36, 23, 24, 25, 26, 27, 35, 39, 49, 53, 65, 69, 83, 84, 85], [53, 68, 51, 38, 39, 69, 67, 37, 24, 25, 26, 27, 28, 36, 40, 50, 54, 66, 84, 85], [54, 69, 52, 39, 40, 68, 38, 25, 26, 27, 28, 29, 37, 41, 51, 67, 85], [53, 40, 41, 69, 39, 26, 27, 28, 29, 38, 52, 68], [56, 73, 74, 72, 57, 71, 75, 90, 91, 92, 93, 94], [57, 74, 55, 75, 73, 42, 58, 72, 76, 91, 92, 93, 94, 95], [58, 75, 56, 42, 76, 74, 43, 55, 59, 73, 77, 92, 93, 94, 95, 96], [59, 76, 57, 42, 43, 77, 75, 30, 44, 56, 60, 74, 78, 93, 94, 95, 96, 97], [60, 77, 58, 43, 44, 78, 76, 42, 30, 31, 45, 57, 61, 75, 79, 94, 95, 96, 97, 98], [61, 78, 59, 44, 45, 79, 77, 43, 30, 31, 32, 42, 46, 58, 62, 76, 80, 95, 96, 97, 98, 99], [62, 79, 60, 45, 46, 80, 78, 44, 30, 31, 32, 33, 43, 47, 59, 63, 77, 81, 96, 97, 98, 99, 100], [63, 80, 61, 46, 47, 81, 79, 45, 30, 31, 32, 33, 34, 44, 48, 60, 64, 78, 82, 97, 98, 99, 100, 101], [64, 81, 62, 47, 48, 82, 80, 46, 31, 32, 33, 34, 35, 45, 49, 61, 65, 79, 83, 98, 99, 100, 101, 102], [65, 82, 63, 48, 49, 83, 81, 47, 32, 33, 34, 35, 36, 46, 50, 62, 66, 80, 84, 99, 100, 101, 102], [66, 83, 64, 49, 50, 84, 82, 48, 33, 34, 35, 36, 37, 47, 51, 63, 67, 81, 85, 100, 101, 102], [67, 84, 65, 50, 51, 85, 83, 49, 34, 35, 36, 37, 38, 48, 52, 64, 68, 82, 101, 102], [68, 85, 66, 51, 52, 84, 50, 35, 36, 37, 38, 39, 49, 53, 65, 69, 83, 102], [69, 67, 52, 53, 85, 51, 36, 37, 38, 39, 40, 50, 54, 66, 84], [68, 53, 54, 52, 37, 38, 39, 40, 41, 51, 67, 85], [71, 89, 90, 88, 72, 87, 91, 106, 107, 108, 109, 110], [72, 90, 70, 91, 89, 55, 73, 88, 92, 107, 108, 109, 110, 111], [73, 91, 71, 55, 92, 90, 56, 70, 74, 89, 93, 108, 109, 110, 111, 112], [74, 92, 72, 55, 56, 93, 91, 57, 71, 75, 90, 94, 109, 110, 111, 112, 113], [75, 93, 73, 56, 57, 94, 92, 55, 42, 58, 72, 76, 91, 95, 110, 111, 112, 113, 114], [76, 94, 74, 57, 58, 95, 93, 56, 42, 43, 55, 59, 73, 77, 92, 96, 111, 112, 113, 114, 115], [77, 95, 75, 58, 59, 96, 94, 57, 42, 43, 44, 56, 60, 74, 78, 93, 97, 112, 113, 114, 115, 116], [78, 96, 76, 59, 60, 97, 95, 58, 42, 43, 44, 45, 57, 61, 75, 79, 94, 98, 113, 114, 115, 116, 117], [79, 97, 77, 60, 61, 98, 96, 59, 42, 43, 44, 45, 46, 58, 62, 76, 80, 95, 99, 114, 115, 116, 117, 118], [80, 98, 78, 61, 62, 99, 97, 60, 43, 44, 45, 46, 47, 59, 63, 77, 81, 96, 100, 115, 116, 117, 118, 119], [81, 99, 79, 62, 63, 100, 98, 61, 44, 45, 46, 47, 48, 60, 64, 78, 82, 97, 101, 116, 117, 118, 119, 120], [82, 100, 80, 63, 64, 101, 99, 62, 45, 46, 47, 48, 49, 61, 65, 79, 83, 98, 102, 117, 118, 119, 120], [83, 101, 81, 64, 65, 102, 100, 63, 46, 47, 48, 49, 50, 62, 66, 80, 84, 99, 118, 119, 120], [84, 102, 82, 65, 66, 101, 64, 47, 48, 49, 50, 51, 63, 67, 81, 85, 100, 119, 120], [85, 83, 66, 67, 102, 65, 48, 49, 50, 51, 52, 64, 68, 82, 101, 120], [84, 67, 68, 66, 49, 50, 51, 52, 53, 65, 69, 83, 102], [87, 105, 106, 104, 88, 103, 107, 126, 127, 128, 129, 130], [88, 106, 86, 107, 105, 70, 89, 104, 108, 127, 128, 129, 130, 131], [89, 107, 87, 70, 108, 106, 71, 86, 90, 105, 109, 128, 129, 130, 131, 132], [90, 108, 88, 70, 71, 109, 107, 72, 87, 91, 106, 110, 129, 130, 131, 132, 133], [91, 109, 89, 71, 72, 110, 108, 70, 55, 73, 88, 92, 107, 111, 130, 131, 132, 133, 134], [92, 110, 90, 72, 73, 111, 109, 71, 55, 56, 70, 74, 89, 93, 108, 112, 131, 132, 133, 134, 135], [93, 111, 91, 73, 74, 112, 110, 72, 55, 56, 57, 71, 75, 90, 94, 109, 113, 132, 133, 134, 135, 136], [94, 112, 92, 74, 75, 113, 111, 73, 55, 56, 57, 58, 72, 76, 91, 95, 110, 114, 133, 134, 135, 136, 137], [95, 113, 93, 75, 76, 114, 112, 74, 55, 56, 57, 58, 59, 73, 77, 92, 96, 111, 115, 134, 135, 136, 137, 138], [96, 114, 94, 76, 77, 115, 113, 75, 56, 57, 58, 59, 60, 74, 78, 93, 97, 112, 116, 135, 136, 137, 138, 139], [97, 115, 95, 77, 78, 116, 114, 76, 57, 58, 59, 60, 61, 75, 79, 94, 98, 113, 117, 136, 137, 138, 139, 140], [98, 116, 96, 78, 79, 117, 115, 77, 58, 59, 60, 61, 62, 76, 80, 95, 99, 114, 118, 137, 138, 139, 140, 141], [99, 117, 97, 79, 80, 118, 116, 78, 59, 60, 61, 62, 63, 77, 81, 96, 100, 115, 119, 138, 139, 140, 141], [100, 118, 98, 80, 81, 119, 117, 79, 60, 61, 62, 63, 64, 78, 82, 97, 101, 116, 120, 139, 140, 141], [101, 119, 99, 81, 82, 120, 118, 80, 61, 62, 63, 64, 65, 79, 83, 98, 102, 117, 140, 141], [102, 120, 100, 82, 83, 119, 81, 62, 63, 64, 65, 66, 80, 84, 99, 118, 141], [101, 83, 84, 120, 82, 63, 64, 65, 66, 67, 81, 85, 100, 119], [104, 126, 127, 125, 86, 105, 124, 128, 149, 150, 151, 152, 153], [105, 127, 103, 86, 128, 126, 87, 106, 125, 129, 150, 151, 152, 153, 154], [106, 128, 104, 86, 87, 129, 127, 88, 103, 107, 126, 130, 151, 152, 153, 154, 155], [107, 129, 105, 87, 88, 130, 128, 86, 70, 89, 104, 108, 127, 131, 152, 153, 154, 155, 156], [108, 130, 106, 88, 89, 131, 129, 87, 70, 71, 86, 90, 105, 109, 128, 132, 153, 154, 155, 156, 157], [109, 131, 107, 89, 90, 132, 130, 88, 70, 71, 72, 87, 91, 106, 110, 129, 133, 154, 155, 156, 157, 158], [110, 132, 108, 90, 91, 133, 131, 89, 70, 71, 72, 73, 88, 92, 107, 111, 130, 134, 155, 156, 157, 158, 159], [111, 133, 109, 91, 92, 134, 132, 90, 70, 71, 72, 73, 74, 89, 93, 108, 112, 131, 135, 156, 157, 158, 159, 160], [112, 134, 110, 92, 93, 135, 133, 91, 71, 72, 73, 74, 75, 90, 94, 109, 113, 132, 136, 157, 158, 159, 160, 161], [113, 135, 111, 93, 94, 136, 134, 92, 72, 73, 74, 75, 76, 91, 95, 110, 114, 133, 137, 158, 159, 160, 161, 162], [114, 136, 112, 94, 95, 137, 135, 93, 73, 74, 75, 76, 77, 92, 96, 111, 115, 134, 138, 159, 160, 161, 162, 163], [115, 137, 113, 95, 96, 138, 136, 94, 74, 75, 76, 77, 78, 93, 97, 112, 116, 135, 139, 160, 161, 162, 163], [116, 138, 114, 96, 97, 139, 137, 95, 75, 76, 77, 78, 79, 94, 98, 113, 117, 136, 140, 161, 162, 163], [117, 139, 115, 97, 98, 140, 138, 96, 76, 77, 78, 79, 80, 95, 99, 114, 118, 137, 141, 162, 163], [118, 140, 116, 98, 99, 141, 139, 97, 77, 78, 79, 80, 81, 96, 100, 115, 119, 138, 163], [119, 141, 117, 99, 100, 140, 98, 78, 79, 80, 81, 82, 97, 101, 116, 120, 139], [120, 118, 100, 101, 141, 99, 79, 80, 81, 82, 83, 98, 102, 117, 140], [119, 101, 102, 100, 80, 81, 82, 83, 84, 99, 118, 141], [122, 146, 147, 145, 123, 144, 148, 169, 170, 171, 172, 173], [123, 147, 121, 148, 146, 124, 145, 149, 170, 171, 172, 173, 174], [124, 148, 122, 149, 147, 121, 125, 146, 150, 171, 172, 173, 174, 175], [125, 149, 123, 150, 148, 103, 122, 126, 147, 151, 172, 173, 174, 175, 176], [126, 150, 124, 103, 151, 149, 104, 123, 127, 148, 152, 173, 174, 175, 176, 177], [127, 151, 125, 103, 104, 152, 150, 86, 105, 124, 128, 149, 153, 174, 175, 176, 177, 178], [128, 152, 126, 104, 105, 153, 151, 103, 86, 87, 106, 125, 129, 150, 154, 175, 176, 177, 178, 179], [129, 153, 127, 105, 106, 154, 152, 104, 86, 87, 88, 103, 107, 126, 130, 151, 155, 176, 177, 178, 179, 180], [130, 154, 128, 106, 107, 155, 153, 105, 86, 87, 88, 89, 104, 108, 127, 131, 152, 156, 177, 178, 179, 180, 181], [131, 155, 129, 107, 108, 156, 154, 106, 86, 87, 88, 89, 90, 105, 109, 128, 132, 153, 157, 178, 179, 180, 181, 182], [132, 156, 130, 108, 109, 157, 155, 107, 87, 88, 89, 90, 91, 106, 110, 129, 133, 154, 158, 179, 180, 181, 182, 183], [133, 157, 131, 109, 110, 158, 156, 108, 88, 89, 90, 91, 92, 107, 111, 130, 134, 155, 159, 180, 181, 182, 183, 184], [134, 158, 132, 110, 111, 159, 157, 109, 89, 90, 91, 92, 93, 108, 112, 131, 135, 156, 160, 181, 182, 183, 184, 185], [135, 159, 133, 111, 112, 160, 158, 110, 90, 91, 92, 93, 94, 109, 113, 132, 136, 157, 161, 182, 183, 184, 185, 186], [136, 160, 134, 112, 113, 161, 159, 111, 91, 92, 93, 94, 95, 110, 114, 133, 137, 158, 162, 183, 184, 185, 186, 187], [137, 161, 135, 113, 114, 162, 160, 112, 92, 93, 94, 95, 96, 111, 115, 134, 138, 159, 163, 184, 185, 186, 187], [138, 162, 136, 114, 115, 163, 161, 113, 93, 94, 95, 96, 97, 112, 116, 135, 139, 160, 185, 186, 187], [139, 163, 137, 115, 116, 162, 114, 94, 95, 96, 97, 98, 113, 117, 136, 140, 161, 186, 187], [140, 138, 116, 117, 163, 115, 95, 96, 97, 98, 99, 114, 118, 137, 141, 162, 187], [141, 139, 117, 118, 116, 96, 97, 98, 99, 100, 115, 119, 138, 163], [140, 118, 119, 117, 97, 98, 99, 100, 101, 116, 120, 139], [143, 167, 168, 166, 144, 165, 169, 193, 194, 195, 196, 197], [144, 168, 142, 169, 167, 145, 166, 170, 194, 195, 196, 197, 198], [145, 169, 143, 170, 168, 121, 142, 146, 167, 171, 195, 196, 197, 198, 199], [146, 170, 144, 121, 171, 169, 122, 143, 147, 168, 172, 196, 197, 198, 199, 200], [147, 171, 145, 121, 122, 172, 170, 123, 144, 148, 169, 173, 197, 198, 199, 200, 201], [148, 172, 146, 122, 123, 173, 171, 121, 124, 145, 149, 170, 174, 198, 199, 200, 201, 202], [149, 173, 147, 123, 124, 174, 172, 122, 121, 125, 146, 150, 171, 175, 199, 200, 201, 202, 203], [150, 174, 148, 124, 125, 175, 173, 123, 103, 122, 126, 147, 151, 172, 176, 200, 201, 202, 203, 204], [151, 175, 149, 125, 126, 176, 174, 124, 103, 104, 123, 127, 148, 152, 173, 177, 201, 202, 203, 204, 205], [152, 176, 150, 126, 127, 177, 175, 125, 103, 104, 105, 124, 128, 149, 153, 174, 178, 202, 203, 204, 205, 206], [153, 177, 151, 127, 128, 178, 176, 126, 103, 104, 105, 106, 125, 129, 150, 154, 175, 179, 203, 204, 205, 206, 207], [154, 178, 152, 128, 129, 179, 177, 127, 103, 104, 105, 106, 107, 126, 130, 151, 155, 176, 180, 204, 205, 206, 207, 208], [155, 179, 153, 129, 130, 180, 178, 128, 104, 105, 106, 107, 108, 127, 131, 152, 156, 177, 181, 205, 206, 207, 208, 209], [156, 180, 154, 130, 131, 181, 179, 129, 105, 106, 107, 108, 109, 128, 132, 153, 157, 178, 182, 206, 207, 208, 209, 210], [157, 181, 155, 131, 132, 182, 180, 130, 106, 107, 108, 109, 110, 129, 133, 154, 158, 179, 183, 207, 208, 209, 210, 211], [158, 182, 156, 132, 133, 183, 181, 131, 107, 108, 109, 110, 111, 130, 134, 155, 159, 180, 184, 208, 209, 210, 211, 212], [159, 183, 157, 133, 134, 184, 182, 132, 108, 109, 110, 111, 112, 131, 135, 156, 160, 181, 185, 209, 210, 211, 212, 213], [160, 184, 158, 134, 135, 185, 183, 133, 109, 110, 111, 112, 113, 132, 136, 157, 161, 182, 186, 210, 211, 212, 213], [161, 185, 159, 135, 136, 186, 184, 134, 110, 111, 112, 113, 114, 133, 137, 158, 162, 183, 187, 211, 212, 213], [162, 186, 160, 136, 137, 187, 185, 135, 111, 112, 113, 114, 115, 134, 138, 159, 163, 184, 212, 213], [163, 187, 161, 137, 138, 186, 136, 112, 113, 114, 115, 116, 135, 139, 160, 185, 213], [162, 138, 139, 187, 137, 113, 114, 115, 116, 117, 136, 140, 161, 186], [165, 192, 193, 191, 166, 190, 194, 214, 215, 216, 217], [166, 193, 164, 194, 192, 142, 167, 191, 195, 214, 215, 216, 217, 218], [167, 194, 165, 142, 195, 193, 143, 164, 168, 192, 196, 215, 216, 217, 218, 219], [168, 195, 166, 142, 143, 196, 194, 144, 165, 169, 193, 197, 216, 217, 218, 219, 220], [169, 196, 167, 143, 144, 197, 195, 142, 145, 166, 170, 194, 198, 217, 218, 219, 220, 221], [170, 197, 168, 144, 145, 198, 196, 143, 121, 142, 146, 167, 171, 195, 199, 218, 219, 220, 221, 222], [171, 198, 169, 145, 146, 199, 197, 144, 121, 122, 143, 147, 168, 172, 196, 200, 219, 220, 221, 222, 223], [172, 199, 170, 146, 147, 200, 198, 145, 121, 122, 123, 144, 148, 169, 173, 197, 201, 220, 221, 222, 223, 224], [173, 200, 171, 147, 148, 201, 199, 146, 121, 122, 123, 124, 145, 149, 170, 174, 198, 202, 221, 222, 223, 224, 225], [174, 201, 172, 148, 149, 202, 200, 147, 121, 122, 123, 124, 125, 146, 150, 171, 175, 199, 203, 222, 223, 224, 225, 226], [175, 202, 173, 149, 150, 203, 201, 148, 122, 123, 124, 125, 126, 147, 151, 172, 176, 200, 204, 223, 224, 225, 226, 227], [176, 203, 174, 150, 151, 204, 202, 149, 123, 124, 125, 126, 127, 148, 152, 173, 177, 201, 205, 224, 225, 226, 227, 228], [177, 204, 175, 151, 152, 205, 203, 150, 124, 125, 126, 127, 128, 149, 153, 174, 178, 202, 206, 225, 226, 227, 228, 229], [178, 205, 176, 152, 153, 206, 204, 151, 125, 126, 127, 128, 129, 150, 154, 175, 179, 203, 207, 226, 227, 228, 229, 230], [179, 206, 177, 153, 154, 207, 205, 152, 126, 127, 128, 129, 130, 151, 155, 176, 180, 204, 208, 227, 228, 229, 230, 231], [180, 207, 178, 154, 155, 208, 206, 153, 127, 128, 129, 130, 131, 152, 156, 177, 181, 205, 209, 228, 229, 230, 231], [181, 208, 179, 155, 156, 209, 207, 154, 128, 129, 130, 131, 132, 153, 157, 178, 182, 206, 210, 229, 230, 231], [182, 209, 180, 156, 157, 210, 208, 155, 129, 130, 131, 132, 133, 154, 158, 179, 183, 207, 211, 230, 231], [183, 210, 181, 157, 158, 211, 209, 156, 130, 131, 132, 133, 134, 155, 159, 180, 184, 208, 212, 231], [184, 211, 182, 158, 159, 212, 210, 157, 131, 132, 133, 134, 135, 156, 160, 181, 185, 209, 213], [185, 212, 183, 159, 160, 213, 211, 158, 132, 133, 134, 135, 136, 157, 161, 182, 186, 210], [186, 213, 184, 160, 161, 212, 159, 133, 134, 135, 136, 137, 158, 162, 183, 187, 211], [187, 185, 161, 162, 213, 160, 134, 135, 136, 137, 138, 159, 163, 184, 212], [186, 162, 163, 161, 135, 136, 137, 138, 139, 160, 185, 213], [189, 190], [190, 188, 191, 214], [191, 189, 214, 164, 188, 192, 215, 232], [192, 214, 190, 164, 215, 165, 189, 193, 216, 232, 233], [193, 215, 191, 164, 165, 216, 214, 166, 190, 194, 217, 232, 233, 234], [194, 216, 192, 165, 166, 217, 215, 164, 142, 167, 191, 195, 214, 218, 232, 233, 234, 235], [195, 217, 193, 166, 167, 218, 216, 165, 142, 143, 164, 168, 192, 196, 215, 219, 232, 233, 234, 235, 236], [196, 218, 194, 167, 168, 219, 217, 166, 142, 143, 144, 165, 169, 193, 197, 216, 220, 233, 234, 235, 236, 237], [197, 219, 195, 168, 169, 220, 218, 167, 142, 143, 144, 145, 166, 170, 194, 198, 217, 221, 234, 235, 236, 237, 238], [198, 220, 196, 169, 170, 221, 219, 168, 142, 143, 144, 145, 146, 167, 171, 195, 199, 218, 222, 235, 236, 237, 238, 239], [199, 221, 197, 170, 171, 222, 220, 169, 143, 144, 145, 146, 147, 168, 172, 196, 200, 219, 223, 236, 237, 238, 239, 240], [200, 222, 198, 171, 172, 223, 221, 170, 144, 145, 146, 147, 148, 169, 173, 197, 201, 220, 224, 237, 238, 239, 240, 241], [201, 223, 199, 172, 173, 224, 222, 171, 145, 146, 147, 148, 149, 170, 174, 198, 202, 221, 225, 238, 239, 240, 241, 242], [202, 224, 200, 173, 174, 225, 223, 172, 146, 147, 148, 149, 150, 171, 175, 199, 203, 222, 226, 239, 240, 241, 242, 243], [203, 225, 201, 174, 175, 226, 224, 173, 147, 148, 149, 150, 151, 172, 176, 200, 204, 223, 227, 240, 241, 242, 243, 244], [204, 226, 202, 175, 176, 227, 225, 174, 148, 149, 150, 151, 152, 173, 177, 201, 205, 224, 228, 241, 242, 243, 244, 245], [205, 227, 203, 176, 177, 228, 226, 175, 149, 150, 151, 152, 153, 174, 178, 202, 206, 225, 229, 242, 243, 244, 245], [206, 228, 204, 177, 178, 229, 227, 176, 150, 151, 152, 153, 154, 175, 179, 203, 207, 226, 230, 243, 244, 245], [207, 229, 205, 178, 179, 230, 228, 177, 151, 152, 153, 154, 155, 176, 180, 204, 208, 227, 231, 244, 245], [208, 230, 206, 179, 180, 231, 229, 178, 152, 153, 154, 155, 156, 177, 181, 205, 209, 228, 245], [209, 231, 207, 180, 181, 230, 179, 153, 154, 155, 156, 157, 178, 182, 206, 210, 229], [210, 208, 181, 182, 231, 180, 154, 155, 156, 157, 158, 179, 183, 207, 211, 230], [211, 209, 182, 183, 181, 155, 156, 157, 158, 159, 180, 184, 208, 212, 231], [212, 210, 183, 184, 182, 156, 157, 158, 159, 160, 181, 185, 209, 213], [213, 211, 184, 185, 183, 157, 158, 159, 160, 161, 182, 186, 210], [212, 185, 186, 184, 158, 159, 160, 161, 162, 183, 187, 211], [215, 191, 192, 232, 190, 164, 165, 189, 193, 216, 233], [216, 232, 214, 192, 193, 233, 191, 164, 165, 166, 190, 194, 217, 234, 246], [217, 233, 215, 193, 194, 234, 232, 192, 164, 165, 166, 167, 191, 195, 214, 218, 235, 246, 247], [218, 234, 216, 194, 195, 235, 233, 193, 164, 165, 166, 167, 168, 192, 196, 215, 219, 232, 236, 246, 247, 248], [219, 235, 217, 195, 196, 236, 234, 194, 165, 166, 167, 168, 169, 193, 197, 216, 220, 233, 237, 246, 247, 248, 249], [220, 236, 218, 196, 197, 237, 235, 195, 166, 167, 168, 169, 170, 194, 198, 217, 221, 234, 238, 246, 247, 248, 249, 250], [221, 237, 219, 197, 198, 238, 236, 196, 167, 168, 169, 170, 171, 195, 199, 218, 222, 235, 239, 247, 248, 249, 250, 251], [222, 238, 220, 198, 199, 239, 237, 197, 168, 169, 170, 171, 172, 196, 200, 219, 223, 236, 240, 248, 249, 250, 251, 252], [223, 239, 221, 199, 200, 240, 238, 198, 169, 170, 171, 172, 173, 197, 201, 220, 224, 237, 241, 249, 250, 251, 252, 253], [224, 240, 222, 200, 201, 241, 239, 199, 170, 171, 172, 173, 174, 198, 202, 221, 225, 238, 242, 250, 251, 252, 253, 254], [225, 241, 223, 201, 202, 242, 240, 200, 171, 172, 173, 174, 175, 199, 203, 222, 226, 239, 243, 251, 252, 253, 254, 255], [226, 242, 224, 202, 203, 243, 241, 201, 172, 173, 174, 175, 176, 200, 204, 223, 227, 240, 244, 252, 253, 254, 255], [227, 243, 225, 203, 204, 244, 242, 202, 173, 174, 175, 176, 177, 201, 205, 224, 228, 241, 245, 253, 254, 255], [228, 244, 226, 204, 205, 245, 243, 203, 174, 175, 176, 177, 178, 202, 206, 225, 229, 242, 254, 255], [229, 245, 227, 205, 206, 244, 204, 175, 176, 177, 178, 179, 203, 207, 226, 230, 243, 255], [230, 228, 206, 207, 245, 205, 176, 177, 178, 179, 180, 204, 208, 227, 231, 244], [231, 229, 207, 208, 206, 177, 178, 179, 180, 181, 205, 209, 228, 245], [230, 208, 209, 207, 178, 179, 180, 181, 182, 206, 210, 229], [233, 215, 216, 214, 190, 191, 192, 193, 194, 217, 234, 246], [234, 232, 216, 217, 246, 215, 191, 192, 193, 194, 195, 214, 218, 235, 247, 256], [235, 246, 233, 217, 218, 247, 216, 192, 193, 194, 195, 196, 215, 219, 232, 236, 248, 256, 257], [236, 247, 234, 218, 219, 248, 246, 217, 193, 194, 195, 196, 197, 216, 220, 233, 237, 249, 256, 257, 258], [237, 248, 235, 219, 220, 249, 247, 218, 194, 195, 196, 197, 198, 217, 221, 234, 238, 246, 250, 256, 257, 258, 259], [238, 249, 236, 220, 221, 250, 248, 219, 195, 196, 197, 198, 199, 218, 222, 235, 239, 247, 251, 256, 257, 258, 259, 260], [239, 250, 237, 221, 222, 251, 249, 220, 196, 197, 198, 199, 200, 219, 223, 236, 240, 248, 252, 257, 258, 259, 260, 261], [240, 251, 238, 222, 223, 252, 250, 221, 197, 198, 199, 200, 201, 220, 224, 237, 241, 249, 253, 258, 259, 260, 261, 262], [241, 252, 239, 223, 224, 253, 251, 222, 198, 199, 200, 201, 202, 221, 225, 238, 242, 250, 254, 259, 260, 261, 262], [242, 253, 240, 224, 225, 254, 252, 223, 199, 200, 201, 202, 203, 222, 226, 239, 243, 251, 255, 260, 261, 262], [243, 254, 241, 225, 226, 255, 253, 224, 200, 201, 202, 203, 204, 223, 227, 240, 244, 252, 261, 262], [244, 255, 242, 226, 227, 254, 225, 201, 202, 203, 204, 205, 224, 228, 241, 245, 253, 262], [245, 243, 227, 228, 255, 226, 202, 203, 204, 205, 206, 225, 229, 242, 254], [244, 228, 229, 227, 203, 204, 205, 206, 207, 226, 230, 243, 255], [247, 234, 235, 256, 233, 215, 216, 217, 218, 219, 232, 236, 248, 257, 263], [248, 256, 246, 235, 236, 257, 234, 216, 217, 218, 219, 220, 233, 237, 249, 258, 263, 264], [249, 257, 247, 236, 237, 258, 256, 235, 217, 218, 219, 220, 221, 234, 238, 246, 250, 259, 263, 264, 265], [250, 258, 248, 237, 238, 259, 257, 236, 218, 219, 220, 221, 222, 235, 239, 247, 251, 256, 260, 263, 264, 265, 266], [251, 259, 249, 238, 239, 260, 258, 237, 219, 220, 221, 222, 223, 236, 240, 248, 252, 257, 261, 263, 264, 265, 266], [252, 260, 250, 239, 240, 261, 259, 238, 220, 221, 222, 223, 224, 237, 241, 249, 253, 258, 262, 264, 265, 266], [253, 261, 251, 240, 241, 262, 260, 239, 221, 222, 223, 224, 225, 238, 242, 250, 254, 259, 265, 266], [254, 262, 252, 241, 242, 261, 240, 222, 223, 224, 225, 226, 239, 243, 251, 255, 260, 266], [255, 253, 242, 243, 262, 241, 223, 224, 225, 226, 227, 240, 244, 252, 261], [254, 243, 244, 242, 224, 225, 226, 227, 228, 241, 245, 253, 262], [257, 247, 248, 263, 246, 233, 234, 235, 236, 237, 249, 258, 264], [258, 263, 256, 248, 249, 264, 247, 234, 235, 236, 237, 238, 246, 250, 259, 265], [259, 264, 257, 249, 250, 265, 263, 248, 235, 236, 237, 238, 239, 247, 251, 256, 260, 266], [260, 265, 258, 250, 251, 266, 264, 249, 236, 237, 238, 239, 240, 248, 252, 257, 261, 263], [261, 266, 259, 251, 252, 265, 250, 237, 238, 239, 240, 241, 249, 253, 258, 262, 264], [262, 260, 252, 253, 266, 251, 238, 239, 240, 241, 242, 250, 254, 259, 265], [261, 253, 254, 252, 239, 240, 241, 242, 243, 251, 255, 260, 266], [264, 257, 258, 256, 246, 247, 248, 249, 250, 259, 265], [265, 263, 258, 259, 257, 247, 248, 249, 250, 251, 256, 260, 266], [266, 264, 259, 260, 258, 248, 249, 250, 251, 252, 257, 261, 263], [265, 260, 261, 259, 249, 250, 251, 252, 253, 258, 262, 264]] 
from random import shuffle 
Column_Numbers2 = list(np.arange(1,TotalNumbcol+1,1)) 
Chosen_Columns2 = [] 
shuffle(Column_Numbers2) 
rand = Column_Numbers2.pop() 
Chosen_Columns2.append(rand) 
while Column_Numbers2: 
    for i in range(rand-1,rand): 
     rand = NeighborsperColumn[i] 
    rand = [x for x in rand if x not in Chosen_Columns2] 
    shuffle(rand) 
    try: 
     rand = rand.pop() 
     Chosen_Columns2.append(rand) 
     Column_Numbers2.remove(rand) 
    except IndexError: 
     rand = Column_Numbers2.pop() 
     Chosen_Columns2.append(rand) 
print Column_Numbers2 
print Chosen_Columns2 

END_CLOCK = datetime.now() 

DELTA_TIME = END_CLOCK - START_CLOCK 
print DELTA_TIME 

測得的時間通常在0.018秒左右(在我的電腦上)。

NeighborsperColumn代表所有允許在特定列之後被選中的鄰居。它們的索引對應於Column_Numbers2 -1中的數字。 現在我想知道是否有可能通過以不同方式做某些事情來加速這一過程。結果應該是來自Column_Numbers2的所有列編號的序列(在這種情況下編號爲1到266)。這個腳本確實有用,但我必須對它做很多迭代,所以我想知道是否有辦法節省一些時間。

謝謝

+0

你能描述你想要做什麼嗎? –

+0

我想幫忙,但你的代碼不能編譯。請重新啓動您的IDE並運行您提供的代碼。你會看到很多定義都丟失了。請編輯您的問題,使其編譯,我會很樂意嘗試幫助。 – Ohumeronen

+0

正如@ReutSharabani所要求的那樣:除了它的抒情品質之外,對於範圍(rand-1,rand):rand = NeighborsperColumn [i]'而言,背後的原因是什麼? – Dilettant

回答

0

感謝您的工作示例。這讓我可以幫助你。這是一些代碼。其基本思路是,以取代:

shuffle(Column_Numbers2) 

Column_Numbers2 = np.random.permutation(Column_Numbers2).tolist() 

這使得您的代碼快約3倍:

from datetime import datetime 
import numpy as np 
from random import shuffle 

START_CLOCK = datetime.now() 

TotalNumbcol = 266 
NeighborsperColumn = [[3, 2, 5, 6, 7], [3, 6, 1, 7, 5, 4, 10, 11, 12, 13], [7, 2, 1, 6, 5, 11, 12, 13], [5, 10, 11, 9, 2, 6, 8, 12, 16, 17, 18, 19, 20], [6, 11, 4, 2, 12, 10, 1, 3, 7, 9, 13, 17, 18, 19, 20], [7, 12, 5, 2, 3, 13, 11, 1, 4, 10, 18, 19, 20], [13, 6, 3, 12, 2, 1, 5, 11, 19, 20], [9, 16, 17, 15, 4, 10, 14, 18, 24, 25, 26, 27, 28], [10, 17, 8, 4, 18, 16, 5, 11, 15, 19, 25, 26, 27, 28, 29], [11, 18, 9, 4, 5, 19, 17, 2, 6, 8, 12, 16, 20, 26, 27, 28, 29], [12, 19, 10, 5, 6, 20, 18, 4, 2, 3, 7, 9, 13, 17, 27, 28, 29], [13, 20, 11, 6, 7, 19, 5, 2, 3, 4, 10, 18, 28, 29], [12, 7, 20, 6, 2, 3, 5, 11, 19, 29], [15, 24, 25, 23, 8, 16, 22, 26, 34, 35, 36, 37, 38], [16, 25, 14, 8, 26, 24, 9, 17, 23, 27, 35, 36, 37, 38, 39], [17, 26, 15, 8, 9, 27, 25, 4, 10, 14, 18, 24, 28, 36, 37, 38, 39, 40], [18, 27, 16, 9, 10, 28, 26, 8, 4, 5, 11, 15, 19, 25, 29, 37, 38, 39, 40, 41], [19, 28, 17, 10, 11, 29, 27, 9, 4, 5, 6, 8, 12, 16, 20, 26, 38, 39, 40, 41], [20, 29, 18, 11, 12, 28, 10, 4, 5, 6, 7, 9, 13, 17, 27, 39, 40, 41], [19, 12, 13, 29, 11, 4, 5, 6, 7, 10, 18, 28, 40, 41], [22, 33, 34, 32, 23, 31, 35, 45, 46, 47, 48, 49], [23, 34, 21, 35, 33, 14, 24, 32, 36, 46, 47, 48, 49, 50], [24, 35, 22, 14, 36, 34, 15, 21, 25, 33, 37, 47, 48, 49, 50, 51], [25, 36, 23, 14, 15, 37, 35, 8, 16, 22, 26, 34, 38, 48, 49, 50, 51, 52], [26, 37, 24, 15, 16, 38, 36, 14, 8, 9, 17, 23, 27, 35, 39, 49, 50, 51, 52, 53], [27, 38, 25, 16, 17, 39, 37, 15, 8, 9, 10, 14, 18, 24, 28, 36, 40, 50, 51, 52, 53, 54], [28, 39, 26, 17, 18, 40, 38, 16, 8, 9, 10, 11, 15, 19, 25, 29, 37, 41, 51, 52, 53, 54], [29, 40, 27, 18, 19, 41, 39, 17, 8, 9, 10, 11, 12, 16, 20, 26, 38, 52, 53, 54], [41, 28, 19, 20, 40, 18, 9, 10, 11, 12, 13, 17, 27, 39, 53, 54], [31, 44, 45, 43, 32, 42, 46, 58, 59, 60, 61, 62], [32, 45, 30, 46, 44, 21, 33, 43, 47, 59, 60, 61, 62, 63], [33, 46, 31, 21, 47, 45, 22, 30, 34, 44, 48, 60, 61, 62, 63, 64], [34, 47, 32, 21, 22, 48, 46, 23, 31, 35, 45, 49, 61, 62, 63, 64, 65], [35, 48, 33, 22, 23, 49, 47, 21, 14, 24, 32, 36, 46, 50, 62, 63, 64, 65, 66], [36, 49, 34, 23, 24, 50, 48, 22, 14, 15, 21, 25, 33, 37, 47, 51, 63, 64, 65, 66, 67], [37, 50, 35, 24, 25, 51, 49, 23, 14, 15, 16, 22, 26, 34, 38, 48, 52, 64, 65, 66, 67, 68], [38, 51, 36, 25, 26, 52, 50, 24, 14, 15, 16, 17, 23, 27, 35, 39, 49, 53, 65, 66, 67, 68, 69], [39, 52, 37, 26, 27, 53, 51, 25, 14, 15, 16, 17, 18, 24, 28, 36, 40, 50, 54, 66, 67, 68, 69], [40, 53, 38, 27, 28, 54, 52, 26, 15, 16, 17, 18, 19, 25, 29, 37, 41, 51, 67, 68, 69], [41, 54, 39, 28, 29, 53, 27, 16, 17, 18, 19, 20, 26, 38, 52, 68, 69], [40, 29, 54, 28, 17, 18, 19, 20, 27, 39, 53, 69], [43, 58, 59, 57, 30, 44, 56, 60, 74, 75, 76, 77, 78], [44, 59, 42, 30, 60, 58, 31, 45, 57, 61, 75, 76, 77, 78, 79], [45, 60, 43, 30, 31, 61, 59, 32, 42, 46, 58, 62, 76, 77, 78, 79, 80], [46, 61, 44, 31, 32, 62, 60, 30, 21, 33, 43, 47, 59, 63, 77, 78, 79, 80, 81], [47, 62, 45, 32, 33, 63, 61, 31, 21, 22, 30, 34, 44, 48, 60, 64, 78, 79, 80, 81, 82], [48, 63, 46, 33, 34, 64, 62, 32, 21, 22, 23, 31, 35, 45, 49, 61, 65, 79, 80, 81, 82, 83], [49, 64, 47, 34, 35, 65, 63, 33, 21, 22, 23, 24, 32, 36, 46, 50, 62, 66, 80, 81, 82, 83, 84], [50, 65, 48, 35, 36, 66, 64, 34, 21, 22, 23, 24, 25, 33, 37, 47, 51, 63, 67, 81, 82, 83, 84, 85], [51, 66, 49, 36, 37, 67, 65, 35, 22, 23, 24, 25, 26, 34, 38, 48, 52, 64, 68, 82, 83, 84, 85], [52, 67, 50, 37, 38, 68, 66, 36, 23, 24, 25, 26, 27, 35, 39, 49, 53, 65, 69, 83, 84, 85], [53, 68, 51, 38, 39, 69, 67, 37, 24, 25, 26, 27, 28, 36, 40, 50, 54, 66, 84, 85], [54, 69, 52, 39, 40, 68, 38, 25, 26, 27, 28, 29, 37, 41, 51, 67, 85], [53, 40, 41, 69, 39, 26, 27, 28, 29, 38, 52, 68], [56, 73, 74, 72, 57, 71, 75, 90, 91, 92, 93, 94], [57, 74, 55, 75, 73, 42, 58, 72, 76, 91, 92, 93, 94, 95], [58, 75, 56, 42, 76, 74, 43, 55, 59, 73, 77, 92, 93, 94, 95, 96], [59, 76, 57, 42, 43, 77, 75, 30, 44, 56, 60, 74, 78, 93, 94, 95, 96, 97], [60, 77, 58, 43, 44, 78, 76, 42, 30, 31, 45, 57, 61, 75, 79, 94, 95, 96, 97, 98], [61, 78, 59, 44, 45, 79, 77, 43, 30, 31, 32, 42, 46, 58, 62, 76, 80, 95, 96, 97, 98, 99], [62, 79, 60, 45, 46, 80, 78, 44, 30, 31, 32, 33, 43, 47, 59, 63, 77, 81, 96, 97, 98, 99, 100], [63, 80, 61, 46, 47, 81, 79, 45, 30, 31, 32, 33, 34, 44, 48, 60, 64, 78, 82, 97, 98, 99, 100, 101], [64, 81, 62, 47, 48, 82, 80, 46, 31, 32, 33, 34, 35, 45, 49, 61, 65, 79, 83, 98, 99, 100, 101, 102], [65, 82, 63, 48, 49, 83, 81, 47, 32, 33, 34, 35, 36, 46, 50, 62, 66, 80, 84, 99, 100, 101, 102], [66, 83, 64, 49, 50, 84, 82, 48, 33, 34, 35, 36, 37, 47, 51, 63, 67, 81, 85, 100, 101, 102], [67, 84, 65, 50, 51, 85, 83, 49, 34, 35, 36, 37, 38, 48, 52, 64, 68, 82, 101, 102], [68, 85, 66, 51, 52, 84, 50, 35, 36, 37, 38, 39, 49, 53, 65, 69, 83, 102], [69, 67, 52, 53, 85, 51, 36, 37, 38, 39, 40, 50, 54, 66, 84], [68, 53, 54, 52, 37, 38, 39, 40, 41, 51, 67, 85], [71, 89, 90, 88, 72, 87, 91, 106, 107, 108, 109, 110], [72, 90, 70, 91, 89, 55, 73, 88, 92, 107, 108, 109, 110, 111], [73, 91, 71, 55, 92, 90, 56, 70, 74, 89, 93, 108, 109, 110, 111, 112], [74, 92, 72, 55, 56, 93, 91, 57, 71, 75, 90, 94, 109, 110, 111, 112, 113], [75, 93, 73, 56, 57, 94, 92, 55, 42, 58, 72, 76, 91, 95, 110, 111, 112, 113, 114], [76, 94, 74, 57, 58, 95, 93, 56, 42, 43, 55, 59, 73, 77, 92, 96, 111, 112, 113, 114, 115], [77, 95, 75, 58, 59, 96, 94, 57, 42, 43, 44, 56, 60, 74, 78, 93, 97, 112, 113, 114, 115, 116], [78, 96, 76, 59, 60, 97, 95, 58, 42, 43, 44, 45, 57, 61, 75, 79, 94, 98, 113, 114, 115, 116, 117], [79, 97, 77, 60, 61, 98, 96, 59, 42, 43, 44, 45, 46, 58, 62, 76, 80, 95, 99, 114, 115, 116, 117, 118], [80, 98, 78, 61, 62, 99, 97, 60, 43, 44, 45, 46, 47, 59, 63, 77, 81, 96, 100, 115, 116, 117, 118, 119], [81, 99, 79, 62, 63, 100, 98, 61, 44, 45, 46, 47, 48, 60, 64, 78, 82, 97, 101, 116, 117, 118, 119, 120], [82, 100, 80, 63, 64, 101, 99, 62, 45, 46, 47, 48, 49, 61, 65, 79, 83, 98, 102, 117, 118, 119, 120], [83, 101, 81, 64, 65, 102, 100, 63, 46, 47, 48, 49, 50, 62, 66, 80, 84, 99, 118, 119, 120], [84, 102, 82, 65, 66, 101, 64, 47, 48, 49, 50, 51, 63, 67, 81, 85, 100, 119, 120], [85, 83, 66, 67, 102, 65, 48, 49, 50, 51, 52, 64, 68, 82, 101, 120], [84, 67, 68, 66, 49, 50, 51, 52, 53, 65, 69, 83, 102], [87, 105, 106, 104, 88, 103, 107, 126, 127, 128, 129, 130], [88, 106, 86, 107, 105, 70, 89, 104, 108, 127, 128, 129, 130, 131], [89, 107, 87, 70, 108, 106, 71, 86, 90, 105, 109, 128, 129, 130, 131, 132], [90, 108, 88, 70, 71, 109, 107, 72, 87, 91, 106, 110, 129, 130, 131, 132, 133], [91, 109, 89, 71, 72, 110, 108, 70, 55, 73, 88, 92, 107, 111, 130, 131, 132, 133, 134], [92, 110, 90, 72, 73, 111, 109, 71, 55, 56, 70, 74, 89, 93, 108, 112, 131, 132, 133, 134, 135], [93, 111, 91, 73, 74, 112, 110, 72, 55, 56, 57, 71, 75, 90, 94, 109, 113, 132, 133, 134, 135, 136], [94, 112, 92, 74, 75, 113, 111, 73, 55, 56, 57, 58, 72, 76, 91, 95, 110, 114, 133, 134, 135, 136, 137], [95, 113, 93, 75, 76, 114, 112, 74, 55, 56, 57, 58, 59, 73, 77, 92, 96, 111, 115, 134, 135, 136, 137, 138], [96, 114, 94, 76, 77, 115, 113, 75, 56, 57, 58, 59, 60, 74, 78, 93, 97, 112, 116, 135, 136, 137, 138, 139], [97, 115, 95, 77, 78, 116, 114, 76, 57, 58, 59, 60, 61, 75, 79, 94, 98, 113, 117, 136, 137, 138, 139, 140], [98, 116, 96, 78, 79, 117, 115, 77, 58, 59, 60, 61, 62, 76, 80, 95, 99, 114, 118, 137, 138, 139, 140, 141], [99, 117, 97, 79, 80, 118, 116, 78, 59, 60, 61, 62, 63, 77, 81, 96, 100, 115, 119, 138, 139, 140, 141], [100, 118, 98, 80, 81, 119, 117, 79, 60, 61, 62, 63, 64, 78, 82, 97, 101, 116, 120, 139, 140, 141], [101, 119, 99, 81, 82, 120, 118, 80, 61, 62, 63, 64, 65, 79, 83, 98, 102, 117, 140, 141], [102, 120, 100, 82, 83, 119, 81, 62, 63, 64, 65, 66, 80, 84, 99, 118, 141], [101, 83, 84, 120, 82, 63, 64, 65, 66, 67, 81, 85, 100, 119], [104, 126, 127, 125, 86, 105, 124, 128, 149, 150, 151, 152, 153], [105, 127, 103, 86, 128, 126, 87, 106, 125, 129, 150, 151, 152, 153, 154], [106, 128, 104, 86, 87, 129, 127, 88, 103, 107, 126, 130, 151, 152, 153, 154, 155], [107, 129, 105, 87, 88, 130, 128, 86, 70, 89, 104, 108, 127, 131, 152, 153, 154, 155, 156], [108, 130, 106, 88, 89, 131, 129, 87, 70, 71, 86, 90, 105, 109, 128, 132, 153, 154, 155, 156, 157], [109, 131, 107, 89, 90, 132, 130, 88, 70, 71, 72, 87, 91, 106, 110, 129, 133, 154, 155, 156, 157, 158], [110, 132, 108, 90, 91, 133, 131, 89, 70, 71, 72, 73, 88, 92, 107, 111, 130, 134, 155, 156, 157, 158, 159], [111, 133, 109, 91, 92, 134, 132, 90, 70, 71, 72, 73, 74, 89, 93, 108, 112, 131, 135, 156, 157, 158, 159, 160], [112, 134, 110, 92, 93, 135, 133, 91, 71, 72, 73, 74, 75, 90, 94, 109, 113, 132, 136, 157, 158, 159, 160, 161], [113, 135, 111, 93, 94, 136, 134, 92, 72, 73, 74, 75, 76, 91, 95, 110, 114, 133, 137, 158, 159, 160, 161, 162], [114, 136, 112, 94, 95, 137, 135, 93, 73, 74, 75, 76, 77, 92, 96, 111, 115, 134, 138, 159, 160, 161, 162, 163], [115, 137, 113, 95, 96, 138, 136, 94, 74, 75, 76, 77, 78, 93, 97, 112, 116, 135, 139, 160, 161, 162, 163], [116, 138, 114, 96, 97, 139, 137, 95, 75, 76, 77, 78, 79, 94, 98, 113, 117, 136, 140, 161, 162, 163], [117, 139, 115, 97, 98, 140, 138, 96, 76, 77, 78, 79, 80, 95, 99, 114, 118, 137, 141, 162, 163], [118, 140, 116, 98, 99, 141, 139, 97, 77, 78, 79, 80, 81, 96, 100, 115, 119, 138, 163], [119, 141, 117, 99, 100, 140, 98, 78, 79, 80, 81, 82, 97, 101, 116, 120, 139], [120, 118, 100, 101, 141, 99, 79, 80, 81, 82, 83, 98, 102, 117, 140], [119, 101, 102, 100, 80, 81, 82, 83, 84, 99, 118, 141], [122, 146, 147, 145, 123, 144, 148, 169, 170, 171, 172, 173], [123, 147, 121, 148, 146, 124, 145, 149, 170, 171, 172, 173, 174], [124, 148, 122, 149, 147, 121, 125, 146, 150, 171, 172, 173, 174, 175], [125, 149, 123, 150, 148, 103, 122, 126, 147, 151, 172, 173, 174, 175, 176], [126, 150, 124, 103, 151, 149, 104, 123, 127, 148, 152, 173, 174, 175, 176, 177], [127, 151, 125, 103, 104, 152, 150, 86, 105, 124, 128, 149, 153, 174, 175, 176, 177, 178], [128, 152, 126, 104, 105, 153, 151, 103, 86, 87, 106, 125, 129, 150, 154, 175, 176, 177, 178, 179], [129, 153, 127, 105, 106, 154, 152, 104, 86, 87, 88, 103, 107, 126, 130, 151, 155, 176, 177, 178, 179, 180], [130, 154, 128, 106, 107, 155, 153, 105, 86, 87, 88, 89, 104, 108, 127, 131, 152, 156, 177, 178, 179, 180, 181], [131, 155, 129, 107, 108, 156, 154, 106, 86, 87, 88, 89, 90, 105, 109, 128, 132, 153, 157, 178, 179, 180, 181, 182], [132, 156, 130, 108, 109, 157, 155, 107, 87, 88, 89, 90, 91, 106, 110, 129, 133, 154, 158, 179, 180, 181, 182, 183], [133, 157, 131, 109, 110, 158, 156, 108, 88, 89, 90, 91, 92, 107, 111, 130, 134, 155, 159, 180, 181, 182, 183, 184], [134, 158, 132, 110, 111, 159, 157, 109, 89, 90, 91, 92, 93, 108, 112, 131, 135, 156, 160, 181, 182, 183, 184, 185], [135, 159, 133, 111, 112, 160, 158, 110, 90, 91, 92, 93, 94, 109, 113, 132, 136, 157, 161, 182, 183, 184, 185, 186], [136, 160, 134, 112, 113, 161, 159, 111, 91, 92, 93, 94, 95, 110, 114, 133, 137, 158, 162, 183, 184, 185, 186, 187], [137, 161, 135, 113, 114, 162, 160, 112, 92, 93, 94, 95, 96, 111, 115, 134, 138, 159, 163, 184, 185, 186, 187], [138, 162, 136, 114, 115, 163, 161, 113, 93, 94, 95, 96, 97, 112, 116, 135, 139, 160, 185, 186, 187], [139, 163, 137, 115, 116, 162, 114, 94, 95, 96, 97, 98, 113, 117, 136, 140, 161, 186, 187], [140, 138, 116, 117, 163, 115, 95, 96, 97, 98, 99, 114, 118, 137, 141, 162, 187], [141, 139, 117, 118, 116, 96, 97, 98, 99, 100, 115, 119, 138, 163], [140, 118, 119, 117, 97, 98, 99, 100, 101, 116, 120, 139], [143, 167, 168, 166, 144, 165, 169, 193, 194, 195, 196, 197], [144, 168, 142, 169, 167, 145, 166, 170, 194, 195, 196, 197, 198], [145, 169, 143, 170, 168, 121, 142, 146, 167, 171, 195, 196, 197, 198, 199], [146, 170, 144, 121, 171, 169, 122, 143, 147, 168, 172, 196, 197, 198, 199, 200], [147, 171, 145, 121, 122, 172, 170, 123, 144, 148, 169, 173, 197, 198, 199, 200, 201], [148, 172, 146, 122, 123, 173, 171, 121, 124, 145, 149, 170, 174, 198, 199, 200, 201, 202], [149, 173, 147, 123, 124, 174, 172, 122, 121, 125, 146, 150, 171, 175, 199, 200, 201, 202, 203], [150, 174, 148, 124, 125, 175, 173, 123, 103, 122, 126, 147, 151, 172, 176, 200, 201, 202, 203, 204], [151, 175, 149, 125, 126, 176, 174, 124, 103, 104, 123, 127, 148, 152, 173, 177, 201, 202, 203, 204, 205], [152, 176, 150, 126, 127, 177, 175, 125, 103, 104, 105, 124, 128, 149, 153, 174, 178, 202, 203, 204, 205, 206], [153, 177, 151, 127, 128, 178, 176, 126, 103, 104, 105, 106, 125, 129, 150, 154, 175, 179, 203, 204, 205, 206, 207], [154, 178, 152, 128, 129, 179, 177, 127, 103, 104, 105, 106, 107, 126, 130, 151, 155, 176, 180, 204, 205, 206, 207, 208], [155, 179, 153, 129, 130, 180, 178, 128, 104, 105, 106, 107, 108, 127, 131, 152, 156, 177, 181, 205, 206, 207, 208, 209], [156, 180, 154, 130, 131, 181, 179, 129, 105, 106, 107, 108, 109, 128, 132, 153, 157, 178, 182, 206, 207, 208, 209, 210], [157, 181, 155, 131, 132, 182, 180, 130, 106, 107, 108, 109, 110, 129, 133, 154, 158, 179, 183, 207, 208, 209, 210, 211], [158, 182, 156, 132, 133, 183, 181, 131, 107, 108, 109, 110, 111, 130, 134, 155, 159, 180, 184, 208, 209, 210, 211, 212], [159, 183, 157, 133, 134, 184, 182, 132, 108, 109, 110, 111, 112, 131, 135, 156, 160, 181, 185, 209, 210, 211, 212, 213], [160, 184, 158, 134, 135, 185, 183, 133, 109, 110, 111, 112, 113, 132, 136, 157, 161, 182, 186, 210, 211, 212, 213], [161, 185, 159, 135, 136, 186, 184, 134, 110, 111, 112, 113, 114, 133, 137, 158, 162, 183, 187, 211, 212, 213], [162, 186, 160, 136, 137, 187, 185, 135, 111, 112, 113, 114, 115, 134, 138, 159, 163, 184, 212, 213], [163, 187, 161, 137, 138, 186, 136, 112, 113, 114, 115, 116, 135, 139, 160, 185, 213], [162, 138, 139, 187, 137, 113, 114, 115, 116, 117, 136, 140, 161, 186], [165, 192, 193, 191, 166, 190, 194, 214, 215, 216, 217], [166, 193, 164, 194, 192, 142, 167, 191, 195, 214, 215, 216, 217, 218], [167, 194, 165, 142, 195, 193, 143, 164, 168, 192, 196, 215, 216, 217, 218, 219], [168, 195, 166, 142, 143, 196, 194, 144, 165, 169, 193, 197, 216, 217, 218, 219, 220], [169, 196, 167, 143, 144, 197, 195, 142, 145, 166, 170, 194, 198, 217, 218, 219, 220, 221], [170, 197, 168, 144, 145, 198, 196, 143, 121, 142, 146, 167, 171, 195, 199, 218, 219, 220, 221, 222], [171, 198, 169, 145, 146, 199, 197, 144, 121, 122, 143, 147, 168, 172, 196, 200, 219, 220, 221, 222, 223], [172, 199, 170, 146, 147, 200, 198, 145, 121, 122, 123, 144, 148, 169, 173, 197, 201, 220, 221, 222, 223, 224], [173, 200, 171, 147, 148, 201, 199, 146, 121, 122, 123, 124, 145, 149, 170, 174, 198, 202, 221, 222, 223, 224, 225], [174, 201, 172, 148, 149, 202, 200, 147, 121, 122, 123, 124, 125, 146, 150, 171, 175, 199, 203, 222, 223, 224, 225, 226], [175, 202, 173, 149, 150, 203, 201, 148, 122, 123, 124, 125, 126, 147, 151, 172, 176, 200, 204, 223, 224, 225, 226, 227], [176, 203, 174, 150, 151, 204, 202, 149, 123, 124, 125, 126, 127, 148, 152, 173, 177, 201, 205, 224, 225, 226, 227, 228], [177, 204, 175, 151, 152, 205, 203, 150, 124, 125, 126, 127, 128, 149, 153, 174, 178, 202, 206, 225, 226, 227, 228, 229], [178, 205, 176, 152, 153, 206, 204, 151, 125, 126, 127, 128, 129, 150, 154, 175, 179, 203, 207, 226, 227, 228, 229, 230], [179, 206, 177, 153, 154, 207, 205, 152, 126, 127, 128, 129, 130, 151, 155, 176, 180, 204, 208, 227, 228, 229, 230, 231], [180, 207, 178, 154, 155, 208, 206, 153, 127, 128, 129, 130, 131, 152, 156, 177, 181, 205, 209, 228, 229, 230, 231], [181, 208, 179, 155, 156, 209, 207, 154, 128, 129, 130, 131, 132, 153, 157, 178, 182, 206, 210, 229, 230, 231], [182, 209, 180, 156, 157, 210, 208, 155, 129, 130, 131, 132, 133, 154, 158, 179, 183, 207, 211, 230, 231], [183, 210, 181, 157, 158, 211, 209, 156, 130, 131, 132, 133, 134, 155, 159, 180, 184, 208, 212, 231], [184, 211, 182, 158, 159, 212, 210, 157, 131, 132, 133, 134, 135, 156, 160, 181, 185, 209, 213], [185, 212, 183, 159, 160, 213, 211, 158, 132, 133, 134, 135, 136, 157, 161, 182, 186, 210], [186, 213, 184, 160, 161, 212, 159, 133, 134, 135, 136, 137, 158, 162, 183, 187, 211], [187, 185, 161, 162, 213, 160, 134, 135, 136, 137, 138, 159, 163, 184, 212], [186, 162, 163, 161, 135, 136, 137, 138, 139, 160, 185, 213], [189, 190], [190, 188, 191, 214], [191, 189, 214, 164, 188, 192, 215, 232], [192, 214, 190, 164, 215, 165, 189, 193, 216, 232, 233], [193, 215, 191, 164, 165, 216, 214, 166, 190, 194, 217, 232, 233, 234], [194, 216, 192, 165, 166, 217, 215, 164, 142, 167, 191, 195, 214, 218, 232, 233, 234, 235], [195, 217, 193, 166, 167, 218, 216, 165, 142, 143, 164, 168, 192, 196, 215, 219, 232, 233, 234, 235, 236], [196, 218, 194, 167, 168, 219, 217, 166, 142, 143, 144, 165, 169, 193, 197, 216, 220, 233, 234, 235, 236, 237], [197, 219, 195, 168, 169, 220, 218, 167, 142, 143, 144, 145, 166, 170, 194, 198, 217, 221, 234, 235, 236, 237, 238], [198, 220, 196, 169, 170, 221, 219, 168, 142, 143, 144, 145, 146, 167, 171, 195, 199, 218, 222, 235, 236, 237, 238, 239], [199, 221, 197, 170, 171, 222, 220, 169, 143, 144, 145, 146, 147, 168, 172, 196, 200, 219, 223, 236, 237, 238, 239, 240], [200, 222, 198, 171, 172, 223, 221, 170, 144, 145, 146, 147, 148, 169, 173, 197, 201, 220, 224, 237, 238, 239, 240, 241], [201, 223, 199, 172, 173, 224, 222, 171, 145, 146, 147, 148, 149, 170, 174, 198, 202, 221, 225, 238, 239, 240, 241, 242], [202, 224, 200, 173, 174, 225, 223, 172, 146, 147, 148, 149, 150, 171, 175, 199, 203, 222, 226, 239, 240, 241, 242, 243], [203, 225, 201, 174, 175, 226, 224, 173, 147, 148, 149, 150, 151, 172, 176, 200, 204, 223, 227, 240, 241, 242, 243, 244], [204, 226, 202, 175, 176, 227, 225, 174, 148, 149, 150, 151, 152, 173, 177, 201, 205, 224, 228, 241, 242, 243, 244, 245], [205, 227, 203, 176, 177, 228, 226, 175, 149, 150, 151, 152, 153, 174, 178, 202, 206, 225, 229, 242, 243, 244, 245], [206, 228, 204, 177, 178, 229, 227, 176, 150, 151, 152, 153, 154, 175, 179, 203, 207, 226, 230, 243, 244, 245], [207, 229, 205, 178, 179, 230, 228, 177, 151, 152, 153, 154, 155, 176, 180, 204, 208, 227, 231, 244, 245], [208, 230, 206, 179, 180, 231, 229, 178, 152, 153, 154, 155, 156, 177, 181, 205, 209, 228, 245], [209, 231, 207, 180, 181, 230, 179, 153, 154, 155, 156, 157, 178, 182, 206, 210, 229], [210, 208, 181, 182, 231, 180, 154, 155, 156, 157, 158, 179, 183, 207, 211, 230], [211, 209, 182, 183, 181, 155, 156, 157, 158, 159, 180, 184, 208, 212, 231], [212, 210, 183, 184, 182, 156, 157, 158, 159, 160, 181, 185, 209, 213], [213, 211, 184, 185, 183, 157, 158, 159, 160, 161, 182, 186, 210], [212, 185, 186, 184, 158, 159, 160, 161, 162, 183, 187, 211], [215, 191, 192, 232, 190, 164, 165, 189, 193, 216, 233], [216, 232, 214, 192, 193, 233, 191, 164, 165, 166, 190, 194, 217, 234, 246], [217, 233, 215, 193, 194, 234, 232, 192, 164, 165, 166, 167, 191, 195, 214, 218, 235, 246, 247], [218, 234, 216, 194, 195, 235, 233, 193, 164, 165, 166, 167, 168, 192, 196, 215, 219, 232, 236, 246, 247, 248], [219, 235, 217, 195, 196, 236, 234, 194, 165, 166, 167, 168, 169, 193, 197, 216, 220, 233, 237, 246, 247, 248, 249], [220, 236, 218, 196, 197, 237, 235, 195, 166, 167, 168, 169, 170, 194, 198, 217, 221, 234, 238, 246, 247, 248, 249, 250], [221, 237, 219, 197, 198, 238, 236, 196, 167, 168, 169, 170, 171, 195, 199, 218, 222, 235, 239, 247, 248, 249, 250, 251], [222, 238, 220, 198, 199, 239, 237, 197, 168, 169, 170, 171, 172, 196, 200, 219, 223, 236, 240, 248, 249, 250, 251, 252], [223, 239, 221, 199, 200, 240, 238, 198, 169, 170, 171, 172, 173, 197, 201, 220, 224, 237, 241, 249, 250, 251, 252, 253], [224, 240, 222, 200, 201, 241, 239, 199, 170, 171, 172, 173, 174, 198, 202, 221, 225, 238, 242, 250, 251, 252, 253, 254], [225, 241, 223, 201, 202, 242, 240, 200, 171, 172, 173, 174, 175, 199, 203, 222, 226, 239, 243, 251, 252, 253, 254, 255], [226, 242, 224, 202, 203, 243, 241, 201, 172, 173, 174, 175, 176, 200, 204, 223, 227, 240, 244, 252, 253, 254, 255], [227, 243, 225, 203, 204, 244, 242, 202, 173, 174, 175, 176, 177, 201, 205, 224, 228, 241, 245, 253, 254, 255], [228, 244, 226, 204, 205, 245, 243, 203, 174, 175, 176, 177, 178, 202, 206, 225, 229, 242, 254, 255], [229, 245, 227, 205, 206, 244, 204, 175, 176, 177, 178, 179, 203, 207, 226, 230, 243, 255], [230, 228, 206, 207, 245, 205, 176, 177, 178, 179, 180, 204, 208, 227, 231, 244], [231, 229, 207, 208, 206, 177, 178, 179, 180, 181, 205, 209, 228, 245], [230, 208, 209, 207, 178, 179, 180, 181, 182, 206, 210, 229], [233, 215, 216, 214, 190, 191, 192, 193, 194, 217, 234, 246], [234, 232, 216, 217, 246, 215, 191, 192, 193, 194, 195, 214, 218, 235, 247, 256], [235, 246, 233, 217, 218, 247, 216, 192, 193, 194, 195, 196, 215, 219, 232, 236, 248, 256, 257], [236, 247, 234, 218, 219, 248, 246, 217, 193, 194, 195, 196, 197, 216, 220, 233, 237, 249, 256, 257, 258], [237, 248, 235, 219, 220, 249, 247, 218, 194, 195, 196, 197, 198, 217, 221, 234, 238, 246, 250, 256, 257, 258, 259], [238, 249, 236, 220, 221, 250, 248, 219, 195, 196, 197, 198, 199, 218, 222, 235, 239, 247, 251, 256, 257, 258, 259, 260], [239, 250, 237, 221, 222, 251, 249, 220, 196, 197, 198, 199, 200, 219, 223, 236, 240, 248, 252, 257, 258, 259, 260, 261], [240, 251, 238, 222, 223, 252, 250, 221, 197, 198, 199, 200, 201, 220, 224, 237, 241, 249, 253, 258, 259, 260, 261, 262], [241, 252, 239, 223, 224, 253, 251, 222, 198, 199, 200, 201, 202, 221, 225, 238, 242, 250, 254, 259, 260, 261, 262], [242, 253, 240, 224, 225, 254, 252, 223, 199, 200, 201, 202, 203, 222, 226, 239, 243, 251, 255, 260, 261, 262], [243, 254, 241, 225, 226, 255, 253, 224, 200, 201, 202, 203, 204, 223, 227, 240, 244, 252, 261, 262], [244, 255, 242, 226, 227, 254, 225, 201, 202, 203, 204, 205, 224, 228, 241, 245, 253, 262], [245, 243, 227, 228, 255, 226, 202, 203, 204, 205, 206, 225, 229, 242, 254], [244, 228, 229, 227, 203, 204, 205, 206, 207, 226, 230, 243, 255], [247, 234, 235, 256, 233, 215, 216, 217, 218, 219, 232, 236, 248, 257, 263], [248, 256, 246, 235, 236, 257, 234, 216, 217, 218, 219, 220, 233, 237, 249, 258, 263, 264], [249, 257, 247, 236, 237, 258, 256, 235, 217, 218, 219, 220, 221, 234, 238, 246, 250, 259, 263, 264, 265], [250, 258, 248, 237, 238, 259, 257, 236, 218, 219, 220, 221, 222, 235, 239, 247, 251, 256, 260, 263, 264, 265, 266], [251, 259, 249, 238, 239, 260, 258, 237, 219, 220, 221, 222, 223, 236, 240, 248, 252, 257, 261, 263, 264, 265, 266], [252, 260, 250, 239, 240, 261, 259, 238, 220, 221, 222, 223, 224, 237, 241, 249, 253, 258, 262, 264, 265, 266], [253, 261, 251, 240, 241, 262, 260, 239, 221, 222, 223, 224, 225, 238, 242, 250, 254, 259, 265, 266], [254, 262, 252, 241, 242, 261, 240, 222, 223, 224, 225, 226, 239, 243, 251, 255, 260, 266], [255, 253, 242, 243, 262, 241, 223, 224, 225, 226, 227, 240, 244, 252, 261], [254, 243, 244, 242, 224, 225, 226, 227, 228, 241, 245, 253, 262], [257, 247, 248, 263, 246, 233, 234, 235, 236, 237, 249, 258, 264], [258, 263, 256, 248, 249, 264, 247, 234, 235, 236, 237, 238, 246, 250, 259, 265], [259, 264, 257, 249, 250, 265, 263, 248, 235, 236, 237, 238, 239, 247, 251, 256, 260, 266], [260, 265, 258, 250, 251, 266, 264, 249, 236, 237, 238, 239, 240, 248, 252, 257, 261, 263], [261, 266, 259, 251, 252, 265, 250, 237, 238, 239, 240, 241, 249, 253, 258, 262, 264], [262, 260, 252, 253, 266, 251, 238, 239, 240, 241, 242, 250, 254, 259, 265], [261, 253, 254, 252, 239, 240, 241, 242, 243, 251, 255, 260, 266], [264, 257, 258, 256, 246, 247, 248, 249, 250, 259, 265], [265, 263, 258, 259, 257, 247, 248, 249, 250, 251, 256, 260, 266], [266, 264, 259, 260, 258, 248, 249, 250, 251, 252, 257, 261, 263], [265, 260, 261, 259, 249, 250, 251, 252, 253, 258, 262, 264]] 
Column_Numbers2 = list(np.arange(1,TotalNumbcol+1,1)) 
Chosen_Columns2 = [] 
# shuffle(Column_Numbers2) <--- This line was very slow. 
Column_Numbers2 = np.random.permutation(Column_Numbers2).tolist() 
rand = Column_Numbers2.pop() 
Chosen_Columns2.append(rand) 
while Column_Numbers2: 
    for i in range(rand-1,rand): 
     rand = NeighborsperColumn[i] 
    rand = [x for x in rand if x not in Chosen_Columns2] 
    shuffle(rand) 
    try: 
     rand = rand.pop() 
     Chosen_Columns2.append(rand) 
     Column_Numbers2.remove(rand) 
    except IndexError: 
     rand = Column_Numbers2.pop() 
     Chosen_Columns2.append(rand) 

END_CLOCK = datetime.now() 

DELTA_TIME = END_CLOCK - START_CLOCK 
print DELTA_TIME 

一般來說,你應該使用一個分析器來查找線路你的代碼太慢了。

+0

謝謝你,它使得它更快,但不幸的是不是3次,但從0.018下降到0.014,但它肯定更快。所以謝謝 – AlmostGr

+0

我在循環中多次運行你的代碼(100x左右)。當你以這種方式執行代碼時,你會看到它快了大約3倍。我不確定你是否還能加快速度。也許通過使用cython。由於0.014s其實不是那麼多,我認爲你經常調用這個函數?也許你可以不經常地調用函數來節省時間? – Ohumeronen

相關問題