python3中字节()的快速连接

python3中字节()的快速连接,python,list,byte,Python,List,Byte,我在python3中有一个字节字符串数组(它是一个音频块)。 我想从中生成一个大字节字符串。简单的实现有点慢。如何做得更好 chunks = [] while not audio.ends(): chunks.append( bytes(audio.next_buffer()) ) do_some_chunk_processing() all_audio=b'' for ch in chunks: all_audio += ch 如何更快地完成它?您可以尝试和测量的一种方法是使用

我在python3中有一个字节字符串数组(它是一个音频块)。 我想从中生成一个大字节字符串。简单的实现有点慢。如何做得更好

chunks = []
while not audio.ends():
  chunks.append( bytes(audio.next_buffer()) )
  do_some_chunk_processing()

all_audio=b''
for ch in chunks:
  all_audio += ch

如何更快地完成它?

您可以尝试和测量的一种方法是使用
字节

all_audio = b''.join(chunks)
这可能更快的原因是,它会对块进行预传递,以确定所有音频所需的大小,一次分配正确的大小,然后一次性连接


一种方法是使用
fstring

all_audio = b''
for ch in chunks:
        all_audio = f'{all_audio}{ch}'

根据比较,对于小字符串来说,这似乎更快。

您的意思是在每个循环上运行处理吗?您确定拼凑块需要花费时间吗?主
while
循环看起来可能非常慢。