使用 itertools.compress 基于二进制序列过滤字符串

反社会者

我有一个字符串和二进制序列(它是 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

凯文

你的compress方法很接近。它不起作用,因为字符串“0”和“1”在布尔上下文中都计算为 True。一种快速的解决方案是将它们转换为整数,因为在布尔上下文中 0 是 False 而 1 是 True:

import itertools

sent1 = 'ERAGSJKDLLDERRR'
bin_seq = 100101010100011

print("".join(itertools.compress(sent1, map(int, str(bin_seq)))))

结果:

EGJDLRR

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python-使用itertools生成二进制列表

来自分类Dev

将十六进制字符串转换为二进制并使用netcat发送

来自分类Dev

使用字符串将二进制转换为八进制

来自分类Dev

使用Linq to SQL时出现“字符串或二进制数据将被截断”错误

来自分类Dev

通过HTML5在Android上使用二进制字符串保存文件

来自分类Dev

使用ArrayList在Java中递归生成二进制字符串

来自分类Dev

如何使用Python将XML字符串转换为二进制形式?

来自分类Dev

使用'atoi()'将二进制字符串转换为整数

来自分类Dev

使用HTML音频标签播放二进制字符串

来自分类Dev

使用JS / TS从二进制字符串创建和下载PDF文件

来自分类Dev

使用grep从二进制文件中提取非常特定的字符串

来自分类Dev

使用bsearch c在字符串数组中执行二进制搜索

来自分类Dev

在pyspark的DataFrame中使用二进制内容作为字符串

来自分类Dev

使用CryptoJS解密二进制字符串并写入文件

来自分类Dev

使用C ++解析二进制数据的长字符串

来自分类Dev

使用外部文件中的二进制数据(utf-8中的字符串)

来自分类Dev

c ++使用fstream从二进制文件读取字符串

来自分类Dev

使用C ++在二进制文件中搜索字符串

来自分类Dev

确保使用二进制字符串收敛到0,而不是-1

来自分类Dev

使用 C# 在文件中存储字符串索引的二进制数据

来自分类Dev

使用递归将二进制数字的字符串转换为十进制数字...

来自分类Dev

使用递归将二进制数字的字符串转换为十进制数字...

来自分类Dev

如何使用Elixir / Ecto / Postgrex避免在插入的二进制字符串中转义字符?

来自分类Dev

如何在C#中存储两个二进制字符串并使用OR运算符

来自分类Dev

如何使用Delphi和writebinary命令将二进制值的字符串格式写入注册表?

来自分类Dev

如何使用记录将JSON字符串转换为二进制?Web.Contents + POST + Power Query

来自分类Dev

二进制搜索-使用严格引用时,不能将字符串“ 1”用作符号引用

来自分类Dev

使用以下命令从二进制数据字符串中提取日期和时间

来自分类Dev

不能在字符串中使用execlp()和命令来执行二进制文件

Related 相关文章

  1. 1

    Python-使用itertools生成二进制列表

  2. 2

    将十六进制字符串转换为二进制并使用netcat发送

  3. 3

    使用字符串将二进制转换为八进制

  4. 4

    使用Linq to SQL时出现“字符串或二进制数据将被截断”错误

  5. 5

    通过HTML5在Android上使用二进制字符串保存文件

  6. 6

    使用ArrayList在Java中递归生成二进制字符串

  7. 7

    如何使用Python将XML字符串转换为二进制形式?

  8. 8

    使用'atoi()'将二进制字符串转换为整数

  9. 9

    使用HTML音频标签播放二进制字符串

  10. 10

    使用JS / TS从二进制字符串创建和下载PDF文件

  11. 11

    使用grep从二进制文件中提取非常特定的字符串

  12. 12

    使用bsearch c在字符串数组中执行二进制搜索

  13. 13

    在pyspark的DataFrame中使用二进制内容作为字符串

  14. 14

    使用CryptoJS解密二进制字符串并写入文件

  15. 15

    使用C ++解析二进制数据的长字符串

  16. 16

    使用外部文件中的二进制数据(utf-8中的字符串)

  17. 17

    c ++使用fstream从二进制文件读取字符串

  18. 18

    使用C ++在二进制文件中搜索字符串

  19. 19

    确保使用二进制字符串收敛到0,而不是-1

  20. 20

    使用 C# 在文件中存储字符串索引的二进制数据

  21. 21

    使用递归将二进制数字的字符串转换为十进制数字...

  22. 22

    使用递归将二进制数字的字符串转换为十进制数字...

  23. 23

    如何使用Elixir / Ecto / Postgrex避免在插入的二进制字符串中转义字符?

  24. 24

    如何在C#中存储两个二进制字符串并使用OR运算符

  25. 25

    如何使用Delphi和writebinary命令将二进制值的字符串格式写入注册表?

  26. 26

    如何使用记录将JSON字符串转换为二进制?Web.Contents + POST + Power Query

  27. 27

    二进制搜索-使用严格引用时,不能将字符串“ 1”用作符号引用

  28. 28

    使用以下命令从二进制数据字符串中提取日期和时间

  29. 29

    不能在字符串中使用execlp()和命令来执行二进制文件

热门标签

归档