【问题标题】:How to remove specific elements in list of bytes like objects如何删除字节列表中的特定元素,如对象
【发布时间】:2021-03-11 14:46:19
【问题描述】:

例如,我有一个包含许多字节对象格式字符串的列表:

ls = [b’\x9e\x9d\x9e\r’, b’\x9e\x9d\x9e\r’]

所以我想从这个字符串中删除 \r 得到:

ls = [b’\x9e\x9d\x9e’, b’\x9e\x9d\x9e’]

是否可以使用这种类型的对象来做到这一点。如果它是一个普通的字符串,那将不是问题。但是对于字节,我无法得到我想要的。

【问题讨论】:

  • “有没有可能” - 当然有。
  • 或者更确切地说它应该是,如果你展示的是有效的 Python。
  • [x.replace(b'\r', b'') for x in ls]replace 方法适用于 byte 或 str,但如果要替换字节,参数也必须是字节。另请注意,您使用 创建字符串,但您需要在python 中使用'"
  • 非常感谢大家。现在它可以工作了。

标签: python list


【解决方案1】:
ls = [b’\x9e\x9d\x9e\r’, b’\x9e\x9d\x9e\r’]

l = [i.rstrip(b'\r') if i.endswith(b'\r') else i for i in ls ]

【讨论】:

    【解决方案2】:

    这个怎么样?

    ls = [b'\x9e\x9d\x9e\r', b'\x9e\x9d\x9e\r']
    ls = [old_byte[:-1] for old_byte in ls]
    

    你可以通过指定bytes的范围来获取你想要的字节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 2019-05-20
      相关资源
      最近更新 更多