본문 바로가기
파이썬

파이썬에서 float 목록을 바이트로 압축하는 가장 빠른 방법

by º기록 2020. 9. 16.
반응형

나는 100k 수레 목록이 있고 그것을 바이트 버퍼로 변환하고 싶습니다.

buf = bytes()
for val in floatList:
   buf += struct.pack('f', val)
return buf

이것은 매우 느립니다. 표준 Python 3.x 라이브러리 만 사용하여 어떻게 더 빠르게 만들 수 있습니까?

 

해결 방법

 

struct 에 얼마나 많은 float 가 있는지 알려주세요. 100k 플로트는 느린 노트북에서 약 1/100 초가 걸립니다.

import random
import struct

floatlist = [random.random() for _ in range(10**5)]
buf = struct.pack('%sf' % len(floatlist), *floatlist)

 

참조 페이지 https://stackoverflow.com/questions/9940859

 

 

반응형

댓글