永发信息网

def func(list, num) .... list = [1,2,3,4,5] func(list,2) print 出 所有可能的组合 比如 12 23 24等

答案:1  悬赏:0  手机版
解决时间 2021-03-26 10:31
  • 提问者网友:留有余香
  • 2021-03-25 13:02
def func(list, num) .... list = [1,2,3,4,5] func(list,2) print 出 所有可能的组合 比如 12 23 24等
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-03-25 13:08
比如“1,2,3....10”,1到10这10个数,显示他的所有可能组合情况(排列顺序无所谓)
# -*- coding: utf-8  -*-
 #!/usr/local/bin/python
 
 Count = 0
 def combination(data, t, vl):
     _kk = len(data)
     for _i in range(_kk-t+1):
         vl.append(data[_i])
         new_data = data[_i+1:]
         if t-1 == 1:
             for _j in range(len(new_data)):
                 print ','.join(map(str,vl))+','+str(new_data[_j])
                 global Count
                 Count += 1
         else:
             combination(new_data, t-1, vl)
         vl.pop()
             
 if __name__ == '__main__':
     n = 10 # 总数
     t = 6  # 选取个数
     vl = [] # 用于存放选中的数字
     data = range(1, n+1)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
     combination(data, t, vl)
     _count_correct = reduce(lambda x, y: x*y,range(n,n-t,-1)) / reduce(lambda x, y: x*y,range(t,0,-1))
     print Count, Count == _count_correct
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯