首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python和Sympy以可预测的顺序生成唯一排列

使用Python和Sympy以可预测的顺序生成唯一排列
EN

Stack Overflow用户
提问于 2019-06-04 23:24:26
回答 1查看 70关注 0票数 0

我有一个python元素列表。在最后的代码中,列表的长度是可变的,我的列表中的元素要长得多,但我可以用三个虚拟元素来演示我的问题。

基本上,对于任何长度为n的列表,将有n-1个相同的元素和1个唯一的元素。

所以,在三个元素的例子中,我有:

代码语言:javascript
运行
复制
test = ['b', 'a', 'a']

对于像3这样的小情况,我可以用眼睛来验证元素的顺序,我一直在使用Sympy模块中的一个函数,如下所示:

代码语言:javascript
运行
复制
permutations = list(multiset_permutations(test))

然而,一旦案例变得太大,我不确定顺序是否可预测。而且,检查official documentations对我来说并不能很好地阐明问题。

有没有办法以可预测的顺序生成这些排列,这样我就可以知道,例如:

代码语言:javascript
运行
复制
permutations[0] = ['b', 'a', 'a']
permutations[1] = ['a', 'b', 'a']
permutations[2] = ['a', 'a', 'b']

感谢您能给予的任何帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-05 05:26:23

multiset_permutations生成排列之前,对元素进行排序。您的结果将不依赖于输入项的顺序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56446909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档