python定義數(shù)組長(zhǎng)度 Python比較兩組數(shù)組中的元素是否完全相同的問(wèn)題?
Python比較兩組數(shù)組中的元素是否完全相同的問(wèn)題?Def CPR(Li1,Li2):tmp1,tmp2=Li1[:],Li2[:]#復(fù)制數(shù)組以防止在排序期間修改原始數(shù)組。Tmp1。排序()tmp2。
Python比較兩組數(shù)組中的元素是否完全相同的問(wèn)題?
Def CPR(Li1,Li2):
tmp1,tmp2=Li1[:],Li2[:]#復(fù)制數(shù)組以防止在排序期間修改原始數(shù)組。
Tmp1。排序()
tmp2。Sort()
return tmp1==tmp2
詳細(xì)信息http://codepad.org/HvrGr5gm
如果數(shù)組中的元素沒(méi)有重復(fù),請(qǐng)使用集合。
將列表轉(zhuǎn)換為集合,然后判斷集合是否相同。
Def CPR(Li1,Li2):
return set(Li1)==set(Li2)
判斷兩個(gè)數(shù)組是不是相等?
沒(méi)有系統(tǒng)函數(shù)來(lái)實(shí)現(xiàn)這個(gè)函數(shù),所以我們需要編寫(xiě)自己的函數(shù):首先,算法分析:1。兩個(gè)數(shù)組相等,需要相同的類型、長(zhǎng)度以及每個(gè)元素的值和順序。2根據(jù)數(shù)組相等的含義,不需要判斷類型,因?yàn)椴煌念愋蜎](méi)有可比性。長(zhǎng)度和元素值需要通過(guò)代碼來(lái)判斷。2、 參考代碼:以整數(shù)數(shù)組為例,可以編寫(xiě)如下函數(shù):int array_CMP(int*a,int Al,int*B,int BL){int i if(Al!=BL)返回0//長(zhǎng)度不等,返回0。對(duì)于(I=0 I< al I)如果(a[I]!=B[i])返回0//如果元素不相等,則返回0。Return 1//完全相等,返回1。}3、 優(yōu)化代碼:memcmp是C語(yǔ)言的內(nèi)存比較函數(shù),可以簡(jiǎn)化步驟,提高效率。參考代碼如下:int arrayucmp(int*a,int Al,int*B,int BL){int i if(Al!=BL)返回0//不同長(zhǎng)度,返回memcmp(a,B,sizeof(*a)*al)==0//返回結(jié)果。}注意,使用memcmp需要引用頭文件字符串。H。