Python 列出最佳做法

Python 列出最佳做法,python,Python,我对python非常陌生,我正在为汇编编写一个编译器程序 汇编代码的一个示例行是: @2 生成的机器代码行的长度应为16位,msb为“0”表示“@”,其余15位表示“@”后面的十进制数的二进制表示形式。每个指令都已分解并正确格式化为列表 目前我正在进行如下转换: rmw = ['0'+f"{int(x[1:]):b}".zfill(15) if x.startswith('@') else x for x in rmw] 这很有效,但对我来说似乎有点笨拙,这是最佳实践吗?我想我可能会将zfi

我对python非常陌生,我正在为汇编编写一个编译器程序

汇编代码的一个示例行是:

@2
生成的机器代码行的长度应为16位,msb为“0”表示“@”,其余15位表示“@”后面的十进制数的二进制表示形式。每个指令都已分解并正确格式化为列表

目前我正在进行如下转换:

rmw = ['0'+f"{int(x[1:]):b}".zfill(15) if x.startswith('@') else x for x in rmw]

这很有效,但对我来说似乎有点笨拙,这是最佳实践吗?我想我可能会将zfill设置为16,但我更愿意将这两个部分分开,然后合并它们。我的背景是C语言编程,所以这有点离题。

对我来说似乎很好。但是,可以进行两种简化来缩短它:

在f字符串中包含前导0,以便可以排除丑陋的“0”+。 利用字符串格式直接在f字符串中用0填充015,避免额外的zfill。
rmw = [f"0{int(x[1:]):015b}" if x.startswith('@') else x for x in rmw]