Python 使用可变位数将整数转换为二进制
我想从给定的列表中选择一个数字,并从Python 使用可变位数将整数转换为二进制,python,Python,我想从给定的列表中选择一个数字,并从n位表示中提取一个的位置 我知道如果我想要8位,我需要写 r = random.choice(list) bin = "{0:08b}".format(r) 但我想做点像 bin = "{0:0(self.n)b}".format(r) 其中n是类成员 如何执行此操作?您可以使用嵌套的a{…}来定义大小: bin = "{0:0{1}b}".format(r, self.n) 使用Py2.7+时,如果您发现清洁剂,您可以省略这些数字: bin = "{:
n
位表示中提取一个的位置
我知道如果我想要8位,我需要写
r = random.choice(list)
bin = "{0:08b}".format(r)
但我想做点像
bin = "{0:0(self.n)b}".format(r)
其中n
是类成员
如何执行此操作?您可以使用嵌套的a
{…}
来定义大小:
bin = "{0:0{1}b}".format(r, self.n)
使用Py2.7+时,如果您发现清洁剂,您可以省略这些数字:
bin = "{:0{}b}".format(r, self.n)
例如:
>>> "{:0{}b}".format(9, 8)
'00001001'
从python3.6开始,您将能够使用,将变量名添加到字符串中
In [81]: pad,num = 8,9
In [82]: f"{num:0{pad}b}"
Out[82]: '00001001'
使用str.format,还可以使用名称:
In [92]: pad,num = 8,9
In [93]: "{n:0{p}b}".format(n=num, p=pad)
Out[93]: '00001001'
我还以为这是愚人节玩笑的候选…虽然NB:3.6不会发布