删除python中的数组值

时间:2013-09-21 17:46:32

标签: python arrays

我有一个简单的问题,如果我在python中有一个字符串数组:['a','b','c','d']有一种方法可以比较另一个字符串,如果它存在在数组中删除那个值和之后的一切吗?我是python的新手,我对语法不太熟悉,但伪代码:

s = 'b'
array = ['a', 'b', 'c', 'd']

if b exists in array
    remove b and elements after

所以新数组只是['a']。任何帮助将非常感激!

2 个答案:

答案 0 :(得分:7)

s = 'b'
array = ['a', 'b', 'c', 'd']

if s in array:
    del array[array.index(s):]

答案 1 :(得分:2)

备选方案:

from itertools import takewhile
array = takewhile(lambda x: x != "b", array)
# then if array must be a list (we can already iterate through it)
array = list(array)

if "b" in array:
    del array[array.index("b"):]

try:
    del array[array.index("b"):]
except ValueError:
    # "b" was not in array
    pass