Форум сайта python.su
0
Нужна помощь: есть набор данных:
Data = '''75 27 55 338 330 99 865 862 10 8 22 26 38 83 35 539 8 80 24 73 31 892 431 7 725 264 612 10 93 60 70 64 80 918 100 42 18 10 24 76 85 92 4 384 380 804 179 246 574 39 1351 13 54 6 163 95 162 213 203 10 55 14 342 12 8 7 7 83 13 72 42 40 96 63 279 46 9 52'''
def Work_Array(A): Array = re.split(r'\n', A) A = [] for i in Array: A.append(re.split(r' ', i)) return Array_array(A)
def Array_array(A): Data = [] Array = [] for i in A: Array.clear() for k in i: Array.append(int(k)) Data.append(Array) print(Data) return Data
Офлайн
857
>>> text = """ ... 75 27 55 ... 338 330 99 ... 865 862 10 ... 8 22 26 ... 38 83 35 ... 539 8 80 ... 24 73 31 ... 892 431 7 ... 725 264 612 ... 10 93 60 ... 70 64 80 ... 918 100 42 ... 18 10 24 ... 76 85 92 ... 4 384 380 ... 804 179 246 ... 574 39 1351 ... 13 54 6 ... 163 95 162 ... 213 203 10 ... 55 14 342 ... 12 8 7 ... 7 83 13 ... 72 42 40 ... 96 63 279 ... 46 9 52 ... """ >>> >>> out = [list(map(int, i.split())) for i in text.splitlines() if i] >>> out [[75, 27, 55], [338, 330, 99], [865, 862, 10], [8, 22, 26], [38, 83, 35], [539, 8, 80], [24, 73, 31], [892, 431, 7], [725, 264, 612], [10, 93, 60], [70, 64, 80], [918, 100, 42], [18, 10, 24], [76, 85, 92], [4, 384, 380], [804, 179, 246], [574, 39, 1351], [13, 54, 6], [163, 95, 162], [213, 203, 10], [55, 14, 342], [12, 8, 7], [7, 83, 13], [72, 42, 40], [96, 63, 279], [46, 9, 52]] >>>
Офлайн
0
Спасибо за помощь
Офлайн
0
А как это можно сделать без применения генератора списков? в таком формате не понимаю как оно работает
Офлайн
76
Если править твой код, то сделай так
def Array_array(A): Data = [] for i in A: Array = [] for k in i: Array.append(int(k)) Data.append(Array) print(Data) return Data
Офлайн
0
Спасибо, работает)
Офлайн