2024-03-29 01:18:02 发布
网友
我有一份清单:
a = 00111001
对列表进行乘法运算:
multi = a * 3
结果如下:
a = 001110010011100100111001
但是,我需要的结果显示如下,即每个位连续出现三次:
a = 0000001111111111000000111
另外,如何将a = 0000001111111111000000111转换回a = 00111001?你知道吗
我希望有人能帮助我。非常感谢。你知道吗
>>> a = '00111001' >>> n=3 >>> ''.join(map(lambda x:x*3, a)) '000000111111111000000111'
s = '00111001' n = 3 ''.join([s[i]*n for i in range(len(s))])
或者更简洁地说
''.join(c*n for c in s)
但这假设您的“位列表”是一个可以迭代的字符串。如果你有一个实际的数字,那么你可以先把它转换成一个字符串,但是你需要知道在前导零的情况下你总共需要多少个二进制数字:
b = 57 bin(b) '0b111001' m = 8 s = '{b:>0{m}s}'.format(b=bin(b)[2:], m=m) s '00111001' ''.join([s[i]*n for i in range(len(s))]) '000000111111111000000111'
或者更简洁地说
但这假设您的“位列表”是一个可以迭代的字符串。如果你有一个实际的数字,那么你可以先把它转换成一个字符串,但是你需要知道在前导零的情况下你总共需要多少个二进制数字:
相关问题 更多 >
编程相关推荐