I want to convert pieces of a string into lists and those lists into a matrix. For example:
My string is "75 95 64 17 47 82 18 35 87 10 20 04 82 47 65 19 01 23 75 03 34 88 02 77 73 07 63 67 99 65 04 28 06 16 70 92 41 41 26 56 83 40 80 70 33 41 48 72 33 47 32 37 16 94 29 53 71 44 65 25 43 91 52 97 51 14 70 11 33 28 77 73 17 78 39 68 17 57 91 71 52 38 17 14 91 43 58 50 27 29 48 63 66 04 68 89 53 67 30 73 16 69 87 40 31 04 62 98 27 23 09 70 98 73 93 38 53 60 04 23". I want 75in a list1. 95, 64 in list2, 17, 47, 82 in list3 etc. Then I want to put those list in one (head) list/matrix. So it would be [[75][95,64][17,47,82]]. When I tried to do this the outcome was: [['75']['95','64']['17','47','82']].
The code I wrote:
String = "75 95 64 17 47 82 18 35 87 10 20 04 82 47 65 19 01 23 75 03 34 88 02 77 73 07 63 67 99 65 04 28 06 16 70 92 41 41 26 56 83 40 80 70 33 41 48 72 33 47 32 37 16 94 29 53 71 44 65 25 43 91 52 97 51 14 70 11 33 28 77 73 17 78 39 68 17 57 91 71 52 38 17 14 91 43 58 50 27 29 48 63 66 04 68 89 53 67 30 73 16 69 87 40 31 04 62 98 27 23 09 70 98 73 93 38 53 60 04 23"
lst1 = list(String.split(" "))
matrix = []
x = 0
while lst1 != []:
matrix.append(lst1[:1+x])
lst1 = lst1[1+x:]
x += 1
print(matrix)
My question is: What must I change in order to get the outcome that I want (so without ‘ ‘ in the matrix)?
>Solution :
I just added the code bellow after your code:
for i in range(len(matrix)):
for j in range(len(matrix[i])):
matrix[i][j] = int(matrix[i][j])
I’m looking for a more pythonic way to doing this 🙂