我有一个字符串和二进制序列(它是 0 和 1 的整数)
sent1 = 'ERAGSJKDLLDERRR'
bin_seq = 100101010100011
所以我想通过与bin_seq. 所以如果bin_seq对应位置的值为1,它会返回字母。
所以它应该返回:
'EGJDLRR'
我itertools.compress用于上述操作。
from itertools import compress
sent1 = 'ERAGSJKDLLDERRR'
bin_seq = 100101010100011
print("".join(list(itertools.compress(sent1, str(bin_seq)))))
返回输出:
'ERAGSJKDLLDERRR'
我知道我可以通过使用for循环轻松地做到这一点:
sent_new = []
for i,j in zip(sent1, str(bin_seq)):
if j == '1':
sent_new.append(i)
print("".join(sent_new))
但我更关心的是为什么它没有给出预期的输出itertools.compress。
FFIVE
温温酱
红颜莎娜
相关分类