如何使用掩码从数组中删除值?

时间:2014-07-13 07:05:05

标签: python arrays

SUBJ。例如:

array = ['value1', 'value2', 'value3', 'value4', ...(here is many values like value5, value6, value7, value49 etc.)..., 'value50' 'something', 'something2']

我应该从这个数组中删除值*。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

使用列表理解,过滤掉值以value开头:

>>> array = ['value1', 'value2', 'value3', 'value4', 'value50', 'something', 'something2']
>>> array = [x for x in array if not x.startswith('value')]  # NOTE: used `not`
>>> array
['something', 'something2']

答案 1 :(得分:0)

在这里制作简单的东西是我的代码:)

from itertools import ifilterfalse
ifilterfalse(lambda x:x.startswith('value'),array)

请注意,如果列表中有整数值,您将获得 AttributeError:' int'对象没有属性' startswith'

所以要在列表中处理整数'数组'我们将使用这个简单的循环:

res = []
for ele in array:
if type(ele) is int:
    res.append(ele)
elif not ele.startswith('value'):
    res.append(ele)