2015-12-11 65 views
0

查找列表的长度我有一个numpy的阵列arr其形状(100,)内numpy的ndarray

arr.shape() #(100,) 

这里此阵列内的100名列表。该列表是字符串,没有空格,长度大约为30

'TBTBBBBBBBBBEBEBEBEBDLKDJFDFIKKKKK' 

此数组具有“矩阵式”形状。我怎样才能(a)告诉阵列中每个列表的长度或者(b)重新格式化这个阵列,这样arr.shape()给了我两个维度,即arr.shape()给出(100,30)?

此外,它可能不是每个列表的长度相同的(有些可能是28,而不是30):

我如何检查这种行为? numpy.shape()在这种情况下输出什么?

回答

1

您可以使用列表理解来确定阵列中的每个字符串的长度:

arr = np.array(['aasdfads', 'asfdads', 'fdfsdfaf']) 
>>> [len(i) for i in arr] 
[8, 7, 8] 

还是拿最高:

>>> max([len(i) for i in arr]) 
8 
+0

我能以某种方式拼接字符串输入的每个元素成一个numpy数组使用numpy.asarray()?不同的形状会产生什么结果? – ShanZhengYang

+0

http://stackoverflow.com/questions/11747125/python-numpy-convert-string-in-to-numpy-array \ – Alexander