方法集锦1_python
1.求出列表的所有组合
def getalllist(points): res = [] for i in range(len(points)): ##假如是首个值的话,需要单独append进来 if i == 0: res.append([points[i]]) else: res.append([points[i]]) #同时需要循环前面的res,来进行拼接(注意,此时len(res)只根据最开始进来的来算) for j in range(len(res)-1): res.append([points[i]]+res[j])
return res
如果要去除所有列表中,长度为n的所有的列表集合,比如为3:
def getalllist(points,n): res = [] for i in range(len(points)): ##假如是首个值的话,需要单独append进来 if i == 0: res.append([points[i]]) else: res.append([points[i]]) #同时需要循环前面的res,来进行拼接(注意,此时len(res)只根据最开始进来的来算) for j in range(len(res)-1): res.append([points[i]]+res[j]) new_res = [] ##最后的时候,在去除掉长度不是3的数组 while res != []: pop_l = res.pop() if len(pop_l) == n: new_res.append(pop_l) #否则的话,继续,直到最终长度为0 return new_res