如何解决在 Python 中的二进制数中添加下划线作为分隔符
我试图将十进制数转换为 17 位二进制数并在其中添加下划线作为分隔符。 我正在使用以下代码 -
id = 18
get_bin = lambda x,n: format(x,'b').zfill(n)
bin_num = get_bin(id,17)
我得到的输出格式为 -
00000000000010010
我正在尝试获得以下输出 -
0_0000_0000_0001_0010
我怎样才能得到它?
解决方法
使用 good'ol pal,Python 的 Format Specification Mini-Language
id = 18
width = 17
bin_num = format(id,'0{}_b'.format(width+3))
print(bin_num)
#0_0000_0000_0001_0010
,
一种方式:
import textwrap
result = '_'.join(textwrap.wrap(bin_num[::-1],4))[::-1]
输出:
'0_0000_0000_0001_0010'
,
您需要将 _ 添加到格式字符串中,并且您不需要使用 zfill - 017_b 格式的最小长度为 17 个字符,零填充空格,并在其间使用 _。
print(format(18,'021_b'))
给予
0_0000_0000_0001_0010
还要注意在二进制模式下,下划线始终是您需要的每 4 位数字。 More
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。