我有一个简单的问题,如果我在python中有一个字符串数组:['a','b','c','d']有一种方法可以比较另一个字符串,如果它存在在数组中删除那个值和之后的一切吗?我是python的新手,我对语法不太熟悉,但伪代码:
s = 'b'
array = ['a', 'b', 'c', 'd']
if b exists in array
remove b and elements after
所以新数组只是['a']。任何帮助将非常感激!
答案 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