这篇文章主要为大家详细介绍了python解决全排列或在n个数组中每个数组选一个值组成的所有序列等等问题,具有一定的参考价值,可以用来参考一下。
感兴趣python解决全排列或在n个数组中每个数组选一个值组成的所有序列等等问题的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
# 四海网网 (www.q1010.com)
from itertools import *
if __name__ == '__main__':
for j in permutations([2,5,6]):
print(j)
'''
(2, 5, 6)
(2, 6, 5)
(5, 2, 6)
(5, 6, 2)
(6, 2, 5)
(6, 5, 2)
'''
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
for i in product(list1,list2,list3):
print(i)
'''
(1, 4, 7)
(1, 4, 8)
(1, 4, 9)
(1, 5, 7)
(1, 5, 8)
(1, 5, 9)
(1, 6, 7)
(1, 6, 8)
(1, 6, 9)
(2, 4, 7)
(2, 4, 8)
(2, 4, 9)
(2, 5, 7)
(2, 5, 8)
(2, 5, 9)
(2, 6, 7)
(2, 6, 8)
(2, 6, 9)
(3, 4, 7)
(3, 4, 8)
(3, 4, 9)
(3, 5, 7)
(3, 5, 8)
(3, 5, 9)
(3, 6, 7)
(3, 6, 8)
(3, 6, 9)
'''
print('*'*20)
for i in product(*[list2]*3):
print(i)
'''
(4, 4, 4)
(4, 4, 5)
(4, 4, 6)
(4, 5, 4)
(4, 5, 5)
(4, 5, 6)
(4, 6, 4)
(4, 6, 5)
(4, 6, 6)
(5, 4, 4)
(5, 4, 5)
(5, 4, 6)
(5, 5, 4)
(5, 5, 5)
(5, 5, 6)
(5, 6, 4)
(5, 6, 5)
(5, 6, 6)
(6, 4, 4)
(6, 4, 5)
(6, 4, 6)
(6, 5, 4)
(6, 5, 5)
(6, 5, 6)
(6, 6, 4)
(6, 6, 5)
(6, 6, 6)
'''
# End 512.笔记 www.q1010.com
解释一下第三个product的参数,*[list2]*3,也就是*[[4,5,6]]*3,后面的乘以3就是复制三份,参数变为*[[4,5,6],[4,5,6],[4,5,6]],最前面的*号是将参数分解为三个独立的参数,也即通常所说的解包,如果是字典的话需要两个星号**,这里的一个*号也即代表了product([4,5,6],[4,5,6],[4,5,6])
本文来自:http://www.q1010.com/181/2623-0.html
注:关于python解决全排列或在n个数组中每个数组选一个值组成的所有序列等等问题的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:数组
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。