Ваш ввод должен быть списком значений и сделать функцию для возврата вашей квадратной матрицы. Это не требует знания того, сколько списков должно быть сгенерировано заранее.
a = 1
b = 2
c = 3
def square_matrix(values : list) -> list:
d = []
for _ in range(len(values)):
d.append([x for x in values])
return d
sq_mat = square_matrix([a, b, c]) # [[1,2,3], [1,2,3], [1,2,3]]
Это предполагает, что вы хотите столько списков, сколько у вас есть значений. Если вы хотите, чтобы количество списков отличалось от количества значений, измените функцию на что-то вроде этого:
def nested_lists(values : list, num_of_lists : int) -> list:
d = []
for _ in range(num_of_lists):
d.append([x for x in values])
return d
my_lists = nested_lists([a,b,c], 2) # [[a,b,c], [a,b,c,]]