SUBJ。例如:
array = ['value1', 'value2', 'value3', 'value4', ...(here is many values like value5, value6, value7, value49 etc.)..., 'value50' 'something', 'something2']
我应该从这个数组中删除值*。我怎样才能做到这一点?
答案 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)