Python 如何在找到字符串后删除列表中的所有字符串

Python 如何在找到字符串后删除列表中的所有字符串,python,string,list,Python,String,List,如果我有一份清单: my_list = ['hey', 'how are', 'you', 'Bob', 'Jim'] 我想从以下列表中删除所有元素: if 'Bob' in my_list: print(my_list) 使输出为: my_list = ['hey', 'how are', 'you'] 这将删除['Bob','Jim']您可以尝试以下操作: my_list = ['hey', 'how are', 'you', 'Bob', 'Jim'] if 'Bob' i

如果我有一份清单:

my_list = ['hey', 'how are', 'you', 'Bob', 'Jim']
我想从以下列表中删除所有元素:

if 'Bob' in my_list:
    print(my_list)
使输出为:

my_list = ['hey', 'how are', 'you']
这将删除
['Bob','Jim']

您可以尝试以下操作:

my_list = ['hey', 'how are', 'you', 'Bob', 'Jim']

if 'Bob' in my_list:
    bob_index = my_list.index("Bob")  #Get index of Bob
    my_list[bob_index:len(my_list)] = [] #Remove everything from Bob onwards
    print(my_list)
输出:

['hey', 'how are', 'you']

不清楚您是希望在找到字符串后不显示(打印)还是从列表中删除所有字符串

以下是您可以执行每个操作的方法:

my_list = ['hey', 'how are', 'you', 'Bob', 'Jim']

# Output strings up to 'Bob'.
try:
    stop = my_list.index('Bob')
except ValueError:
    stop = len(my_list)
print(my_list[:stop])


# Remove strings from 'Bob' onward.
try:
    del my_list[my_list.index('Bob'):]
except ValueError:
    pass
print(my_list)