我正在尝试编写一个函数,该函数删除最低的数字,然后平均列表中的其余数字。有没有一种方法可以在不使用sorted()
或的情况下从列表中删除最低的两个或多个数字sort()
?喜欢与min()
结合使用range()
。
到目前为止,我有:
lst = [90, 100, 95, 95]
lst.remove(min(lst))
print(sum(lst) / len(lst))
list.remove
删除列表中的第一个匹配值。为了删除当前出现的最低数字的所有出现,您必须将其命名为list.count(min(list))
次。
这是n
从中删除最小数字的函数,该函数lst
不涉及list.remove
:
def remove_n_smallest(lst, n):
for _ in range(n):
m = min(lst)
lst[:] = (x for x in lst if x != m)
这是lst
您的问题的示例:
>>> remove_n_smallest(lst, 2)
>>> lst
[100]
>>> sum(lst) / len(lst)
100.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句