binary_str= np.random.randint(2,size=1000000,dtype='int')
方法一:
binary_str=''.join(binary_str.astype(str))
方法2:
s=''
for c in binary_str:
s+=str(c)
我读过很多文章说方法 1 应该要快得多,因为它连接了整个字符串一次。相比之下,方法 2 必须为每个步骤分配内存和复制,这导致时间复杂度为 O(n^2)。 但是当我测量 time.time 或 timeit 所消耗的时间时,两种方法的输出几乎相同,并且方法 1 甚至消耗了更多时间。为什么? Python 版本 3.10.4.
我在本地机器上进行了测试,两种方法所花费的时间有显着差异。
join
方法比 +=
方法更省时。
我的Python版本:3.9.13