这是2019年面试四维图新的一道面试题,因为自己是自学的小白,十分渴望与大佬交流学习的机会,就放开胆子参加了一次关于计算机专业的面试,虽然最终没有被录用,但是还是很开心。
当时面试官提了几个问题,我都基本回答上来了,就是这个问题,因为时间原因,加上自己紧张,没有及时答上来,最近又想了想,最终实现了一下的方法。虽然勉勉强强,但还好是跑了出来。
问题:用python自带的库实现一个矩阵的转置。
def transpose_matrix(ls):
try:
# 创建一个列表,用于构成最后转置的结果
res = []
# 首先先获得矩阵的行(rows)和列(columns)数目
rows = len(ls)
columns = len(ls[0])
# 接来下取出每一列的元素来构成转置矩阵的行
for column in range(columns):
transposed_column_ls = []
for row in range(rows):
element = ls[row][column]
transposed_column_ls.append(element)
res.append(transposed_column_ls)
return res
except Exception as ex:
return print('出现%s的异常' % ex)
但是该代码也存在一些细节问题,比如没有判定输入的数据是否为矩阵。需要进一步完善客户体验。
ps:已完成暴力检测异常。有可能遇到缩进不一致的问题。自行修改吧,懒得整了。。。