如果我有一个列表:
my_list = ['hey', 'how are', 'you', 'Bob', 'Jim']
我想从列表中删除以下所有元素:
if 'Bob' in my_list:
print(my_list)
这样输出就是:
my_list = ['hey', 'how are', 'you']
它删除了['Bob', 'Jim']
发布于 2019-06-21 09:37:56
您可以尝试这样做:
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']
发布于 2019-06-21 10:12:41
目前还不清楚,在找到字符串后,您是只想不显示(打印),还是想将它们全部从列表中删除。
下面是如何执行每个操作的方法:
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)
https://stackoverflow.com/questions/56695648
复制相似问题