字符串元素的循环移位

时间:2018-07-07 10:56:51

标签: python numpy

基本上,我已经将整数转换为二进制表示形式,然后将其以字符串格式存储。

我想循环旋转数字。

我应该如何进行?

我用过np.roll(),但是它不起作用。

2 个答案:

答案 0 :(得分:1)

您可以按如下所示创建新字符串以循环移位

bin_str = bin_str[-1] + bin_str[:-1]

如果那不好,您可以使用collections.deque(具有rotate方法)来产生循环移位效果

from collections import deque
bin_str = "{0:b}".format(10)
print (bin_str)
1010

d = deque(bin_str, maxlen=len(bin_str))
print (d)
# deque(['1', '0', '1', '0'], maxlen=4)

d.rotate()
print (d)
# deque(['0', '1', '0', '1'], maxlen=4)

答案 1 :(得分:0)

尝试使用负移  例如这样 打印(np.roll(a,-3))