python实现对矩阵按照行、列求和,不使用numpy、pandas模块
因为遇上一个问题需要对矩阵按照行、列求和,这里使用的PC上又无法安装numpy和pandas就只好自己动手写一个简化版的小函数了,其实很简单,就直接上代码了,下面是具体的实现:#!usr/bin/env python#encoding:utf-8'''__Author__:沂水寒城功能:矩阵按照行列求和矩阵内容如下:1,1,0,1,1,0,1,1,1,0,1,1,1
·
因为遇上一个问题需要对矩阵按照行、列求和,这里使用的PC上又无法安装numpy和pandas就只好自己动手写一个简化版的小函数了,其实很简单,就直接上代码了,下面是具体的实现:
#!usr/bin/env python
#encoding:utf-8
'''
__Author__:沂水寒城
功能:矩阵按照行列求和
矩阵内容如下:
1,1,0,1,1,0,1,1,1,0,1,1,1
1,1,1,1,1,0,0,1,0,0,1,1,1
1,1,0,1,1,0,1,1,1,0,1,1,0
1,1,0,1,1,0,1,1,1,0,1,1,0
1,1,0,1,1,0,1,1,1,0,1,1,0
1,1,0,1,1,0,1,1,1,0,1,1,0
1,1,0,1,1,0,1,1,1,0,1,1,1
1,1,0,1,1,0,1,1,1,0,1,1,0
1,1,0,1,1,0,1,1,1,0,1,1,1
1,1,0,1,1,1,1,1,1,1,1,1,0
'''
def sum_rows(matrix):
'''
按行求和
'''
sum_row_list1=[]
for i in range(len(matrix)):
count=0
for j in range(len(matrix[i])):
count+=matrix[i][j]
sum_row_list1.append(count)
sum_row_list2=map(sum,matrix)
print '方法一结果为:', sum_row_list1
print '方法二结果为:', sum_row_list2
def sum_cols(matrix):
'''
按列求和
'''
sum_col_list1=[]
for i in range(len(matrix[0])):
count=0
for j in range(len(matrix)):
count+=matrix[j][i]
sum_col_list1.append(count)
sum_col_list2=map(sum,zip(*matrix))
print '方法一结果为:', sum_col_list1
print '方法二结果为:', sum_col_list2
if __name__ == '__main__':
matrix=[[1,1,0,1,1,0,1,1,1,0,1,1,1],
[1,1,1,1,1,0,0,1,0,0,1,1,1],
[1,1,0,1,1,0,1,1,1,0,1,1,0],
[1,1,0,1,1,0,1,1,1,0,1,1,0],
[1,1,0,1,1,0,1,1,1,0,1,1,0],
[1,1,0,1,1,0,1,1,1,0,1,1,0],
[1,1,0,1,1,0,1,1,1,0,1,1,1],
[1,1,0,1,1,0,1,1,1,0,1,1,0],
[1,1,0,1,1,0,1,1,1,0,1,1,1],
[1,1,0,1,1,1,1,1,1,1,1,1,0]]
print '*****************************按行求和********************************'
sum_rows(matrix)
print '*****************************按列求和********************************'
sum_cols(matrix)
结果如下:
*****************************按行求和********************************
方法一结果为: [10, 9, 9, 9, 9, 9, 10, 9, 10, 11]
方法二结果为: [10, 9, 9, 9, 9, 9, 10, 9, 10, 11]
*****************************按列求和********************************
方法一结果为: [10, 10, 1, 10, 10, 1, 9, 10, 9, 1, 10, 10, 4]
方法二结果为: [10, 10, 1, 10, 10, 1, 9, 10, 9, 1, 10, 10, 4]
[Finished in 0.3s]
做完了感觉听有意思的
更多推荐
已为社区贡献104条内容
所有评论(0)