除了迭代,有没有更好的方法将字符串操作应用于ndarray
?我想使用“向量化”操作,但我只能想到使用map
(示例显示)或列表推导。
Arr = numpy.rec.fromrecords(zip(range(5),'as far as i know'.split()),
names='name, strings')
print ''.join(map(lambda x: x[0].upper()+'.',Arr['strings']))
=> A.F.A.I.K.
例如,在R语言中,字符串操作也是矢量化的:
> (string <- unlist(strsplit("as far as i know"," ")))
[1] "as" "far" "as" "i" "know"
> paste(sprintf("%s.",toupper(substr(string,1,1))),collapse="")
[1] "A.F.A.I.K."
print ''.join(s[0].upper() + '.' for s in "as far as i know".split())
- steveha