如何解决我如何在连接字符串中的if结构处做重复字符计数器或如何在itertools上对其进行设置?蟒蛇
我的代码:
from itertools import *
import collections
for i in combinations_with_replacement(['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'],15):
b = (''.join(i))
if i in b if b.count(i)<4:
print (b)
我的意思是,检查组合的字符串上有多少个字符重复,并且如果任何字符在字符串中的任何位置重复的次数都不超过4倍,则允许打印。
该如何尽快做到?
或者,也许可以在itertools
处执行某些操作,甚至不生成包含多于4个重复字符的字符串,并且仅生成所有可能的组合,但仅生成最大可能的4个重复/或在字符串的任何位置设置的限制。
最典型的例子
如果1aaaa567890abcd-我们不允许这样做(重复5次)
但是如果1aaaa567890dbcd-或更小,我们降低此值(仅重复4次)...
我试试这个
import timeit
from itertools import *
import collections
for i in combinations_with_replacement(['0',15):
b = (''.join(i))
count = {}
for s in b:
if s in count:
count[s] += 1
else:
count[s] = 1
for key in count:
if count[key] < 4:
print (b)
但是此解决方案不起作用。
问题是如何计算过滤器的功能,以便仅显示没有重复字符的字符串,并在不创建任何列表的情况下进行操作(最大性能)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。