python 剔除列表中的所有的某一元素
剔除列表中所有的空元素
我尝试过 for index in rang(0, len(mylist)) + mylist.pop/remove ;或者是 for item in mylist + mylist.pop/remove, 都会因为失去元素导致数组越界问题,即便是使pop或者remove完了使index-=1,仍然会越界 或者删不干净。
方法如下,见代码:
mylist = [] copy_mylist = mylist for item in copy_mylist: if item == "": mylist.remove(item)
方法二:
方法二同样适用于剔除列表中的相同元素,且保持原有序列。
my_list = [1, 2, 3, "", 5, "", 7, "", 10] tmp_list = [] [tmp_list.append(item) for item in my_list if item] my_list = tmp_list print(my_list)
执行结果:
[1, 2, 3, 5, 7, 10]
再说说去重,本质上跟文章主题是一样的。也是剔除一些元素。
my_list = [1, 2, 3, 3, 5, 7, 7, 7, 10] tmp_list = [] [tmp_list.append(item) for item in my_list if item not in tmp_list] my_list = tmp_list print(my_list)
执行结果:
[1, 2, 3, 5, 7, 10]