我知道如何删除列表中的元素列表的元素时,它没有一定的规模,如:删除不具有相同的长度,因为大多数的条目
x = [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2],[1,2,3],[1,2,3],[1,2,3,4]]
y = [s for s in x if len(s) == len(x[0])]
凡x
是原始列表,并且y
是新列表。正如你在第一个中看到的那样,有一个条目不像其他条目那么长,而另一条则比其他条目长。
我想删除一个元素,每次它不具有与列表中大多数元素相同的长度。只要列表中的第一个元素具有与大多数元素相同的长度,展示方法就可以工作。
所以问题是如何获得最常见的元素长度?没有循环遍历整个长度。平均值不起作用,因为平均值不代表大部分长度,但平均元素长度(例如长度3,3,3,30将给出〜10的平均值,而长度的主要值为3)。
我认为,中位数会做,但我不太清楚,如果中位数也代表了一个数组中最常见的值。然而@Moses Koledoye的解决方案工作正常 – Kev1n91