Making Sure Length Of Matrix Row Is All The Same (python3)
so I have this python 3 code to input a matrix: matrix = [] lop=True while lop: line = input() if not line: lop=False if matrix != []: if len(line.split
Solution 1:
If you want match the first row length, Try this way,
Use len(matrix[0])
for row in matrix:
if len(row) == len(matrix[0]):
pass
else:
print('not same lenght')
Solution 2:
Use the builtin len()
function and a break
statement.
matrix = []
lop =True
while lop:
line = input('Enter your line: ')
if not line:
lop=False
if matrix != []:
if len(line.split()) != len(matrix[-1]):
print("Not same length")
break
values = line.split()
row = [int(value) for value in values]
matrix.append(row)
This runs as:
bash-3.2$ python3 matrix.py
Enter your line: 1 2 3
Enter your line: 4 5 6
Enter your line: 7 8 9 0
Not same length
bash-3.2$
Solution 3:
len(set(map(len,matrix))) == 1
Explanation:
map(len,matrix)
yields the lengths of all the rows of the matrix
set(...)
gives all unique / different lengths of the rows that exist.
- If all rows have the same length, this will be a set with 1 single element.
- Otherwise, it will have 2 or more.
Finally, len(...) == 1
returns whether what we obtained above contains 1 single element i.e. whether all rows have the same length.
Post a Comment for "Making Sure Length Of Matrix Row Is All The Same (python3)"