加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python解决全排列或在n个数组中每个数组选一个值组成的所有序列

发布时间:2020-12-17 17:48:03 所属栏目:Python 来源:网络整理
导读:感兴趣python解决全排列或在n个数组中每个数组选一个值组成的所有序列等等问题的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。 平时经常碰到全排列或者在n个数组中每个数组选一个值组成的所有序列等等问题,可以用permutation和product解决,很方便
感兴趣python解决全排列或在n个数组中每个数组选一个值组成的所有序列等等问题的小伙伴,下面一起跟随编程之家 52php.cn的小编来看看吧。
平时经常碰到全排列或者在n个数组中每个数组选一个值组成的所有序列等等问题,可以用permutation和product解决,很方便,所以在此mark一下吧
 #  编程之家  (52php.cn) 

from itertools import *
if __name__ == '__main__':
    for j in permutations([2,5,6]):
        print(j)
    '''
    (2,6)
    (2,6,5)
    (5,2,6)
    (5,2)
    (6,5)
    (6,2)
    '''
    list1 = [1,3]
    list2 = [4,6]
    list3 = [7,8,9]
    for i in product(list1,list2,list3):
        print(i)
    '''
    (1,4,7)
    (1,8)
    (1,9)
    (1,9)
    (2,7)
    (2,8)
    (2,9)
    (3,7)
    (3,8)
    (3,9)
    '''
    print('*'*20)
    for i in product(*[list2]*3):
        print(i)
    '''
    (4,4)
    (4,5)
    (4,6)
    (4,4)
    (5,6)
    (6,4)
    (6,6)
    '''


# End 512.笔记 52php.cn
解释一下第三个product的参数,*[list2]*3,也就是*[[4,6]]*3,后面的乘以3就是复制三份,参数变为*[[4,6],[4,6]],最前面的*号是将参数分解为三个独立的参数,也即通常所说的解包,如果是字典的话需要两个星号**,这里的一个*号也即代表了product([4,6])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读