Skip to main content
 首页 » 编程设计

python之补充/否定python中的 bool 字符串

2025年05月04日21duanxz

我有一个 bool 字符串列表。每个字符串的长度为 6。我需要得到每个字符串的补码。例如,如果字符串是“111111”,则应为“000000”。我的想法是

bin(~int(s,2))[-6:] 
  1. 将其转换为整数并通过将其作为二进制数取反
  2. 将其转换回二进制字符串并使用最后 6 个字符。

我认为它是正确的,但它不可读。而且它只适用于长度小于 30 的字符串。是否有更好和通用的方法来补充 bool 字符串?

我用谷歌搜索了一个第三方包 "bitstring" .但是,这对我的代码来说太多了。

请您参考如下方法:

嗯,您基本上有一个字符串,您希望将其中的所有 1 更改为 0,反之亦然。我想我会忘记字符串的 bool 含义,只使用 maketrans 制作一个翻译表:

from string import maketrans 
 
complement_tt = maketrans('01', '10') 
 
s = '001001' 
s = s.translate(complement_tt)  # It's now '110110'