如何计算我可以在python中订购列表的方式有多少

如何计算我可以在python中订购列表的方式有多少,第1张

概述我对如何做到这一点有点困惑,我知道它可能也需要一点概率知识(我缺乏). 我如何计算有多少种方式,并且还可以获得我可以订购列表的方式的所有可能性? 例如,如果我有lst = [“a”,“a”,“a”,“a”,“b”,“b”,“b”],我可以订购多少种方式/我怎样才能获得所有可能的组合?我一直在寻找itertools,但没有找到它的东西. 您可以使用permutations()来获取所有排列,并使用s 我对如何做到这一点有点困惑,我知道它可能也需要一点概率知识(我缺乏).

我如何计算有多少种方式,并且还可以获得我可以订购列表的方式的所有可能性?

例如,如果我有lst = [“a”,“a”,“b”,“b”],我可以订购多少种方式/我怎样才能获得所有可能的组合?我一直在寻找itertools,但没有找到它的东西.

解决方法 您可以使用permutations()来获取所有排列,并使用set()来删除重复项:

>>> from itertools import permutations>>> set(permutations(lst)){('b','a','b','b'),('b','a'),('a','a')}>>>

请注意,他的方法不是一种优化的方法,因为它首先计算所有排列,虽然它返回一个迭代器并且不会将所有排列存储在内存中但是它仍然不是最好的方式,如果你正在处理非大数据集.

如果要使用优化方式,可以自定义排列的等效函数has mentioned in documentation.

总结

以上是内存溢出为你收集整理的如何计算我可以在python中订购列表的方式有多少全部内容,希望文章能够帮你解决如何计算我可以在python中订购列表的方式有多少所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存