VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 算法相关问题

1.排列组合问题:

需要用到Python的itertools模块

复制代码
import itertools
a=[1,2,3]

#排列,无放回的取,排列(数学公式:A32的意思)
for i in itertools.permutations(a,2):#2是拿两次,a可以是字符串或者是列表
    print(i)

'''
(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
'''

#组合,无放回的取,组合(数学公式:C32的意思)
# for i in itertools.combinations(a,2):
#     print(i)
'''
(1, 2)
(1, 3)
(2, 3)
'''

#有放回的排列(笛卡尔积)
# for i in itertools.product(a,repeat=2):
#     print(i)

'''
(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)
(2, 3)
(3, 1)
(3, 2)
(3, 3)
'''

#有放回的组合
# for i in itertools.combinations_with_replacement(a, 2):
#     print(i)
'''
(1, 1)
(1, 2)
(1, 3)
(2, 2)
(2, 3)
(3, 3)
'''
复制代码

 出处:https://www.cnblogs.com/shengjunqiye/p/14152512.html


相关教程