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

时间:2019-06-21 01:06:54

标签: 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']

2 个答案:

答案 0 :(得分:-1)

您可以尝试以下方法:

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']

答案 1 :(得分:-2)

不清楚是要在找到字符串后不显示(打印)还是将其全部从列表中删除。

以下是每种操作的方法:

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)