python创建字符串数组_如何创建任意长度字符串的numpy数组?
您可以通過創建一個dtype=object數組來執行此操作。如果嘗試將長字符串分配給普通numpy數組,它將截斷該字符串:>>> a = numpy.array(['apples', 'foobar', 'cowboy'])
>>> a[2] = 'bananas'
>>> a
array(['apples', 'foobar', 'banana'],
dtype='|S6')
但是當您使用dtype=object時,會得到一個python對象引用數組。因此您可以擁有python字符串的所有行為:>>> a = numpy.array(['apples', 'foobar', 'cowboy'], dtype=object)
>>> a
array([apples, foobar, cowboy], dtype=object)
>>> a[2] = 'bananas'
>>> a
array([apples, foobar, bananas], dtype=object)
實際上,因為它是一個對象數組,所以可以將任何類型的python對象分配給該數組:>>> a[2] = {1:2, 3:4}
>>> a
array([apples, foobar, {1: 2, 3: 4}], dtype=object)
但是,這會抵消使用numpy的許多好處,numpy速度非常快,因為它可以在大量連續的原始內存塊上工作。使用python對象會增加很多開銷。一個簡單的例子:>>> a = numpy.array(['abba' for _ in range(10000)])
>>> b = numpy.array(['abba' for _ in range(10000)], dtype=object)
>>> %timeit a.copy()
100000 loops, best of 3: 2.51 us per loop
>>> %timeit b.copy()
10000 loops, best of 3: 48.4 us per loop
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的python创建字符串数组_如何创建任意长度字符串的numpy数组?的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: django restframework
- 下一篇: 整车物流系统源代码_整车物流AGV智能搬
