学习python,每日练习20200819

笛卡尔积、排列、组合


#网址:https://blog.csdn.net/huangzhiyuan111/article/details/52586316
import itertools
#新知识点
#笛卡尔积
list = [2,3,1,6]
for i in itertools.product(list,repeat=2):
    #返回的类型为“tuple”
    print(i,end = '')
#结果:(2, 2)(2, 3)(2, 1)(2, 6)(3, 2)(3, 3)(3, 1)(3, 6)(1, 2)(1, 3)(1, 1)(1, 6)(6, 2)(6, 3)(6, 1)(6, 6)
print()
print("***********************************************")
#permutations 排列
for i in itertools.permutations(list,2):
    # 返回的类型为“tuple”
    print(i,end = '')
#结果:(2, 3)(2, 1)(2, 6)(3, 2)(3, 1)(3, 6)(1, 2)(1, 3)(1, 6)(6, 2)(6, 3)(6, 1)
print()
print("***********************************************")
#combinations 组合,没有重复
for i in itertools.combinations(list,2):
    # 返回的类型为“tuple”
    print(i,end = '')
#结果:(2, 3)(2, 1)(2, 6)(3, 1)(3, 6)(1, 6)
print()
print("***********************************************")
#combinations_with_replacement 组合,有重复
for i in itertools.combinations_with_replacement(list,2):
    # 返回的类型为“tuple”
    print(i,end = '')

#结果:(2, 2)(2, 3)(2, 1)(2, 6)(3, 3)(3, 1)(3, 6)(1, 1)(1, 6)(6, 6)

'''
(2, 2)(2, 3)(2, 1)(2, 6)(3, 2)(3, 3)(3, 1)(3, 6)(1, 2)(1, 3)(1, 1)(1, 6)(6, 2)(6, 3)(6, 1)(6, 6)
***********************************************
(2, 3)(2, 1)(2, 6)(3, 2)(3, 1)(3, 6)(1, 2)(1, 3)(1, 6)(6, 2)(6, 3)(6, 1)
***********************************************
(2, 3)(2, 1)(2, 6)(3, 1)(3, 6)(1, 6)
***********************************************
(2, 2)(2, 3)(2, 1)(2, 6)(3, 3)(3, 1)(3, 6)(1, 1)(1, 6)(6, 6)
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值