Python對二維數(shù)組求和的方法:首先定義好一個二維數(shù)組;然后使用map函數(shù)對數(shù)組里每一個元素進(jìn)行sum操作即可對二維數(shù)組求和。
在白朗等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需策劃設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站制作,白朗網(wǎng)站建設(shè)費(fèi)用合理。
關(guān)于二維數(shù)組求和的幾種方法:
a = [[1,2],[3,4],[5,6]]
方法一 sum(map(sum,a))?
map(func,a) 函數(shù)是對a中的每一個元素進(jìn)行sum操作
解釋一下map函數(shù), map(fund, a)? ?equals? ?[func(i) for i in a]? and return a list
方法二 sum(sum(i) for i in a)?
方法三 sum(sum(a[i]) for i in range(len(a)))?
方法四 reduce(lambda x,y:x+y , reduce(lambda x,y:x+y, a))
解釋一下reduce(fun,a),reduce返回的是一個結(jié)果值而不是一個list,第一步的時候是([1,2]+[3,4]) + [5,6]
得到一個[1,2,3,4,5,6], 然后進(jìn)行的運(yùn)算是(((((1+2)+3)+4)+5)+6) = 21
一般來說最常用的還是1和3這兩種方法,不知道m(xù)ap or reduce, 一般都會采用3, 而知道的應(yīng)該會采用1,比較簡潔。
推薦課程:Python核心基礎(chǔ)(尚硅谷)
難道這個代碼有問題嗎?我覺得是對的啊,不過我會這樣:voidprint(intstr[][],intn){inti,j;for(i=0;i50;i++){for(j=0;j50;j++)printf("%d",str[i][j]);}
clear?
close?all
%%%%%%%%%%%%%%%%%%%%%%%%%生成實(shí)驗(yàn)數(shù)據(jù)集
rand('state',0)
sigma_matrix1=eye(2);
sigma_matrix2=50*eye(2);
u1=[0,0];
u2=[30,30];
m1=100;
m2=300;%樣本數(shù)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm1數(shù)據(jù)集
Y1=multivrandn(u1,m1,sigma_matrix1);
Y2=multivrandn(u2,m2,sigma_matrix2);
scatter(Y1(:,1),Y1(:,2),'bo')
hold?on
scatter(Y2(:,1),Y2(:,2),'r*')
title('SM1數(shù)據(jù)集')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%sm2數(shù)據(jù)集
u11=[0,0];
u22=[5,5];
u33=[10,10];
u44=[15,15];
m=600;
sigma_matrix3=2*eye(2);
Y11=multivrandn(u11,m,sigma_matrix3);
Y22=multivrandn(u22,m,sigma_matrix3);
Y33=multivrandn(u33,m,sigma_matrix3);
Y44=multivrandn(u44,m,sigma_matrix3);
figure(2)
scatter(Y11(:,1),Y11(:,2),'bo')
hold?on
scatter(Y22(:,1),Y22(:,2),'r*')
scatter(Y33(:,1),Y33(:,2),'go')
scatter(Y44(:,1),Y44(:,2),'c*')
title('SM2數(shù)據(jù)集')
end
function?Y?=?multivrandn(u,m,sigma_matrix)
%%生成指定均值和協(xié)方差矩陣的高斯數(shù)據(jù)
n=length(u);
c?=?chol(sigma_matrix);
X=randn(m,n);
Y=X*c+ones(m,1)*u;
end