Tell me how you can get the result of parsing a text file in the form of a list of tuples, that is:

[('a1b2','10','20','30'), ('g5j9','40','15','5'), ('k5j8','20','24','38'), ...] 

Sample text:

 Code a1b2 <много ненужного текста> Angle_a 10 Angle_b 20 Angle_c 30 <много ненужного текста> Code g5j9 <много ненужного текста> Angle_a 40 Angle_b 15 Angle_c 5 <много ненужного текста> Code k5j8 <много ненужного текста> Angle_a 20 Angle_b 24 Angle_c 38 И так далее... 

    1 answer 1

     text = """\ Code a1b2 <много ненужного текста> Angle_a 10 Angle_b 20 Angle_c 30 <много ненужного текста> Code g5j9 <много ненужного текста> Angle_a 40 Angle_b 15 Angle_c 5 <много ненужного текста> Code k5j8 <много ненужного текста> Angle_a 20 Angle_b 24 Angle_c 38 И так далее... """ def chunks(l, n): """Yield successive n-sized chunks from l.""" for i in range(0, len(l), n): yield l[i: i + n] import re items = re.findall(r'Code (\w\d\w\d)|Angle_\w (\d+)', text) result = [] for row in chunks(items, n=4): # Пример данных в row: [('a1b2', ''), ('', '10'), ('', '20'), ('', '30')] code, angle_a, angle_b, angle_c = row result.append((code[0], angle_a[1], angle_b[1], angle_c[1])) print(result) 

    Console:

     [('a1b2', '10', '20', '30'), ('g5j9', '40', '15', '5'), ('k5j8', '20', '24', '38')]