从 Python 列表中删除最大值和最小值

从 Python 中的列表中删除最大值和最小值

Remove the Max and Min numbers from a List in Python

从列表中删除最大和最小数字:

  1. 使用max()min()函数获取列表中的最大值和最小值。
  2. 使用list.remove()方法从列表中删除最大和最小数字。
主程序
my_list = [1, 25, 50, 100] # ✅ Remove max value from list my_list.remove(max(my_list)) print(my_list) # 👉️ [1, 25, 50] # ----------------------------------- # ✅ Remove min value from list my_list.remove(min(my_list)) print(my_list) # 👉️ [25, 50]

max函数返回迭代对象中的最大项或两个或多个参数中最大的一个。

主程序
my_list = [1, 25, 50, 100] result = max(my_list) print(result) # 👉️ 100

该函数采用可选的default关键字参数,用于指定在提供的可迭代对象为空时返回的值。

主程序
result = max([], default=0) print(result) # 👉️ 0
如果可迭代对象为空default且未提供关键字参数,则该函数会引发一个ValueError.

min函数返回迭代对象中的最小项或两个或多个参数中最小的一个。

list.remove ()方法从列表中删除第一项,其值等于传入的参数。

remove()方法改变了原始列表并
返回 None

删除最大和最小数字而不改变原始列表

如果要在不更改原始列表的情况下从列表中删除最大和最小数字,请创建一个副本。

主程序
my_list = [1, 25, 50, 100] list_copy = my_list.copy() # ✅ Remove the max value from the list list_copy.remove(max(list_copy)) print(list_copy) # 👉️ [1, 25, 50] # ----------------------------------- # ✅ Remove the min value from the list list_copy.remove(min(list_copy)) print(list_copy) # 👉️ [25, 50]

list.copy方法返回调用该方法的对象的浅表副本

我们创建了一个副本,因此我们可以从副本中而不是从原始列表中删除最大和最小数字。

处理列表为空的情况

如果您传递给or函数的ValueError列表为空,您将得到一个。maxmin

如果需要处理错误,请使用
try/except 语句。

主程序
my_list = [] # ✅ Remove max value from list try: my_list.remove(max(my_list)) print(my_list) # 👉️ [1, 25, 50] except ValueError: pass # ----------------------------------- # ✅ Remove min value from list try: my_list.remove(min(my_list)) print(my_list) # 👉️ [25, 50] except ValueError: pass

和函数在传递一个空的max可迭代对象时min引发一个ValueError

示例中的列表为空,因此except块运行。

pass语句什么都不做,当语法上需要语句但程序不需要任何操作时使用。

使用列表理解从列表中删除最大和最小数字

您还可以使用
列表理解从列表中删除最大和最小数字。

主程序
my_list = [1, 25, 50, 100] new_list = [ number for number in my_list if number > min(my_list) and number < max(my_list) ] print(new_list) # 👉️ [25, 50]

List comprehensions are used to perform some operation for every element or
select a subset of elements that meet a condition.

On each iteration, we check if the current number is greater than the min
value and less than the max value and return the result.

The list comprehension will return a new list that doesn’t contain the max and
min values from the original list.

The same approach can be used to remove only the min value.

main.py
my_list = [1, 25, 50, 100] new_list = [ number for number in my_list if number < max(my_list) ] print(new_list) # 👉️ [1, 25, 50]

We only check if the number is greater than min.

If you only need to remove the max value, check if the number is less than
max.

# Additional Resources

You can learn more about the related topics by checking out the following
tutorials: