gpt4 book ai didi

python - 在 python 中分解字符串

转载 作者:行者123 更新时间:2023-11-28 19:55:05 24 4
gpt4 key购买 nike

我在 python 中有一个字节数组,它看起来像这样:

chunk_size = 8
a = b'12341234A12341234B12341234C12341234...'

我必须删除每个第 n 个字节(示例中的 A、B、C)。数组长度可以是数千。典型的 block 大小可以是 128 或几磅。

这是我目前的解决方案:

chunk_size = 8
output = b"".join([ i[:-1] for i in [ a[j:j+9] for j in range(0, len(a), chunk_size + 1) ]])

我正在寻找其他可能更优雅的解决方案。

只有 Python 3.x 的解决方案很好。

最佳答案

我会将“分块并跳过”逻辑提取到生成器中,例如:

>>> a = b'12341234A12341234B12341234C12341234'
>>> def chunkify(buf, length):
... while len(buf) > length:
... # get the next chunk from the buffer
... retval = buf[:length]
... # ...and move along to the next interesting point in the buffer.
... buf = buf[length+1:]
... yield retval
...
>>> for chunk in chunkify(a, 8):
... print chunk
...
12341234
12341234
12341234
>>> ''.join(chunk for chunk in chunkify(a, 8))
'123412341234123412341234'

关于python - 在 python 中分解字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31409510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com