You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python忽略空格访问二进制字符串并筛选指定位为1的元组

实现方法

核心逻辑分两步处理:

  • 遍历元组列表时,先对每个元组的首元素(二进制字符串)移除所有空格,得到纯比特串
  • 检查目标位置的比特值是否均为'1',保留符合条件的元组即可

示例代码

# 原始测试数据
raw_list = [
    ('01 0 00 0', 'key0'),
    ('01 0 11 0', 'key1'),
    ('01 0 11 1', 'key2')
]

# 筛选逻辑(Python 3.8+支持海象运算符版本)
# 注:当前索引匹配示例预期输出,若你采用从1开始的比特计数规则,将索引值改为对应位数减1即可
result = [
    item for item in raw_list
    if (pure_bin := item[0].replace(' ', ''))[3] == '1' and pure_bin[4] == '1'
]

print(result)
# 输出:[('01 0 11 0', 'key1'), ('01 0 11 1', 'key2')]

如果使用低于3.8的Python版本,可以用兼容写法:

result = []
for item in raw_list:
    pure_bin = item[0].replace(' ', '')
    # 位置判断逻辑和上面一致
    if pure_bin[3] == '1' and pure_bin[4] == '1':
        result.append(item)

str.replace(' ', '')会直接清除字符串内所有空格,不需要额外做分割拼接,逻辑简单效率高,完全满足忽略空格的要求。

内容的提问来源于stack exchange,提问作者DYLAN NICO AMBROSI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:33:25