使用下面代码中的生成器是在Python中生成Thue-Morse sequence的有效方法吗?在
# generate the Thue-Morse sequence
def genThueMorse():
# initialize
tms = '0'
curr = 0
while True:
# generate next sequence
if curr == len(tms):
tmp = ''
for i in range(len(tms)):
if tms[i] is '0':
tmp += '1'
else:
tmp += '0'
tms += tmp
yield tms[curr]
curr +=1
下面是测试它的代码:
^{pr2}$
我认为发电机的效率相当高。我想要这样的东西:
这很简洁,是不是“高效”?在
帮助补充其他答案:如果您只想计算序列中的第n位,请使用:
lambda n: bin(n).count("1") % 2
或者,如果喜欢函数:
示例:
^{pr2}$这可以用序列:0110 1 0 0 1 1 001 0 1 1 0进行验证
相关问题 更多 >
编程相关推荐