重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站制作、白云网络推广、微信小程序、白云网络营销、白云企业策划、白云品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联建站为所有大学生创业者提供白云建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com小编给大家分享一下python转置的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
方法一 :使用常规的思路
def transpose(M): # 初始化转置后的矩阵 result = [] # 获取转置前的行和列 row, col = shape(M) # 先对列进行循环 for i in range(col): # 外层循环的容器 item = [] # 在列循环的内部进行行的循环 for index in range(row): item.append(M[index][i]) result.append(item) return result
思路:矩阵的转置就是从行变成列,列变成行。
先定义一个最终存放矩阵的容器;
先对列进行循环i,并定义一个临时数组用于存放数据,在每次列的循环内部,再次对行进行循环j,取第M[j][i]个元素存入一个临时数组中;
在每次列循环完毕,将临时数组存入最终数组中;
当列循环完毕,最终数组就是矩阵的转置。
方法二:使用zip解包
def transpose(M): # 直接使用zip解包成转置后的元组迭代器,再强转成list存入最终的list中 return [list(row) for row in zip(*M)]
思路:
zip 解包后,返回一个将多个可迭代对象组合成一个元组序列的迭代器,正如:
my_zip = list(zip(['a', 'b', 'c'], [1, 2, 3])) print(my_zip) # [('a', 1), ('b', 2), ('c', 3)]
在每次循环中将元组强转成list,并存入总list中。
看完了这篇文章,相信你对python转置的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!