Python中的SymPy Permutation.next_nonlex()
Permutation.next_nonlex() : next_nonlex()是一个Sympy Python库函数,用于返回非lexicographical顺序的下一个permutation,如果自己是非lexicographical顺序的最后一个permutation,则返回 None。
语法 : sympy.combinatorics.permutations.Permutation.next_nonlex()
返回:按非词法顺序排列的下一个排列组合
代码 #1 : next_nonlex() 示例
# Python code explaining
# SymPy.Permutation.next_nonlex()
# importing SymPy libraries
from sympy.combinatorics.partitions import Partition
from sympy.combinatorics.permutations import Permutation
# Using from sympy.combinatorics.permutations.Permutation.next_nonlex() method
# creating Permutation
a = Permutation([[2, 0], [3, 1]])
b = Permutation([1, 3, 5, 4, 2, 0])
print ("Permutation a - next_nonlex form : ", a.next_nonlex())
print ("Permutation b - next_nonlex form : ", b.next_nonlex())
输出 :
Permutation a – next_nonlex form : (0 3 2)
Permutation b – next_nonlex form : (0 5 1 3 4 2)
代码 #2 : next_nonlex() 例子 – 二维排布
# Python code explaining
# SymPy.Permutation.next_nonlex()
# importing SymPy libraries
from sympy.combinatorics.partitions import Partition
from sympy.combinatorics.permutations import Permutation
# Using from
# sympy.combinatorics.permutations.Permutation.next_nonlex() method
# creating Permutation
a = Permutation([[2, 4, 0],
[3, 1, 2],
[1, 5, 6]])
print ("Permutation a - next_nonlex form : ", a.next_nonlex())
输出 :
Permutation a – next_nonlex form : (0 3 5 1 6 2 4)