算法相关问题
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)
"""

![算法相关问题[Python基础]](https://www.zixueka.com/wp-content/uploads/2023/10/1696831699-9af04ac18b2a6cd.jpg)
