本文實例講述了python通過yield實現數組全排列的方法。分享給大家供大家參考。具體分析如下:
從n個不同元素中任取m(m≤n)個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的一個排列。當m=n時所有的排列情況叫全排列。
這段代碼用到了yield方法,全排列速度加倍
def perm(arr, pos = 0): if pos == len(arr): yield arr for i in range(pos, len(arr)): arr[pos], arr[i] = arr[i], arr[pos] for _ in perm(arr, pos + 1): yield _ arr[pos], arr[i] = arr[i], arr[pos]for i in perm([1,2,3,4]): print i
希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答