首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中,如何从array的元素中获取部分字符串

在python中,如何从array的元素中获取部分字符串
EN

Stack Overflow用户
提问于 2018-07-03 08:27:22
回答 3查看 191关注 0票数 3

例如,我有一个包含字符串元素的数组,我只需要前3个字符:

代码语言:javascript
复制
>>> import numpy
>>> a = numpy.array(['apples', 'foobar', 'cowboy'])

如何获取'app','foo','cow‘

我尝试了以下方法,但不起作用

代码语言:javascript
复制
 >>> b = a[:],[0,2]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-03 08:31:51

试试这个:

代码语言:javascript
复制
b = [a[i][:3] for i in range(len(a))]
print(b)

输出:

代码语言:javascript
复制
['app','foo','cow']
票数 0
EN

Stack Overflow用户

发布于 2018-07-03 08:35:32

代码语言:javascript
复制
import numpy
a = numpy.array(['apples', 'foobar', 'cowboy'])    
v = list(a)
b = [val[:3] for val in v]
print(b)
>>> ['app', 'foo', 'cow']
票数 1
EN

Stack Overflow用户

发布于 2018-07-03 08:41:11

尝试像这样使用map

代码语言:javascript
复制
import numpy

a = numpy.array(['apples', 'foobar', 'cowboy'])
b = map(lambda string: string[:3], a)

print(b) # ['app', 'foo', 'cow']

使用此方法的一个好处是,如果您想对numpy数组中的每个元素执行更复杂的操作,您可以只定义一个更复杂的单参数函数,该函数从该数组中接收一个元素,然后输出所需的数据,如下所示:

代码语言:javascript
复制
import numpy

def some_complex_func(element):
    """
    Do some complicated things to element here.
    """

    # In this case, only return the first three characters of each string
    return element[:3]

a = numpy.array(['apples', 'foobar', 'cowboy'])
b = map(some_complex_func, a)

print(b) # ['app', 'foo', 'cow']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51145199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档