【发布时间】:2021-12-11 07:47:36
【问题描述】:
是否有内置的 python 函数来计算二进制字符串中的位翻转?我要解决的问题是给定一个任意长度的二进制字符串,如何返回字符串的位翻转次数。例如'01101'的位翻转数为3,'1110011'为2等。
我能想出解决这个问题的方法是使用 for 循环和计数器。但是,这似乎太冗长了。有没有办法可以更快地做到这一点?或者python中有一个内置函数可以让我直接这样做吗?感谢您的帮助!
【问题讨论】:
-
不,不,没有。虽然你可以使用
itertools.groupby来简化你的代码,但至少应该稍微快一点 -
“二进制字符串”是什么意思?您是否有由
1和0字符 组成的文本,就像按键盘上的1 和0 键一样?还是您正在查看字节级别的原始数据并观察设置和清除位的模式?还是别的什么? -
@Karl Knechtel 感谢您的评论,我正在寻找类似字符串的输入 :) 刚刚编辑了 OP