如何批量移除Python列表中所有的"Home "元素?
一次性移除列表中所有指定元素的解决方法
你之前的代码报错是因为直接写了Home,Python会把它当成未定义的变量名,正确的做法是使用带引号的目标字符串"Home "(注意保留末尾的空格)。下面给你几种实用的解决办法:
列表推导式(推荐):直接生成过滤后的新列表,写法简洁高效
uni_name = [name for name in uni_name if name != "Home "]遍历原列表时只保留不等于
"Home "的元素,生成新列表覆盖原变量即可。原地修改原列表:如果不想生成新列表,直接修改原列表内容,用
while循环配合remove()while "Home " in uni_name: uni_name.remove("Home ")注意别用
for循环删除,因为删除元素会导致列表索引错位,容易漏删部分元素。使用filter函数:修正你之前的写法,用lambda表达式作为过滤条件
uni_name = list(filter(lambda x: x != "Home ", uni_name))filter会返回一个迭代器,需要用list()转换为列表,效果和列表推导式类似。
内容的提问来源于stack exchange,提问作者Martin Dinesen
相关产品推荐
相关产品推荐

