6YKT6ZKm5LqI 发表于 2022-7-11 17:55:00

filter函数传参

希望程序能够通过filter函数删除数组内指定数字
代码如下,第二行不知道该如何给equal传参数{:10_282:}
def remove(nums, val):
      nums = list(filter(equal(), nums))
      return nums
def equal(n, val):
    if n != val:
      return 1
    return 0
nums =
del_ = int(input("请输入待删除数字: "))
nums = remove(nums, del_)
print(nums)

qq1151985918 发表于 2022-7-11 18:05:32

在原函数外再加一个函数传递另一个参数
def remove(nums, val):
      nums = list(filter(lambda x:equal(x, val), nums))
      return nums
def equal(n, val):
    if n != val:
      return 1
    return 0
nums =
del_ = int(input("请输入待删除数字: "))
nums = remove(nums, del_)
print(nums)

hrpzcf 发表于 2022-7-11 18:13:34

# 更简便的方法
print(list(filter(lambda x: x!= del_, nums)))

hornwong 发表于 2022-7-11 23:53:44

{:5_108:}

ExiaGN001 发表于 2022-7-12 06:55:06

加油

更好O 发表于 2022-7-17 14:53:26

{:10_277:}
页: [1]
查看完整版本: filter函数传参