python3中字节()的快速连接
我在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 如何更快地完成它?您可以尝试和测量的一种方法是使用
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
循环看起来可能非常慢。