如果我有一个列表:
my_list = ['hey', 'how are', 'you', 'Bob', 'Jim']
,我想从以下列表中删除所有元素:
if 'Bob' in my_list:
print(my_list)
输出为:
my_list = ['hey', 'how are', 'you']
这将删除['Bob', 'Jim']
答案 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)