【问题标题】:Passing List to Function in place of Many Arguments将列表传递给函数以代替许多参数
【发布时间】:2018-11-16 13:27:52
【问题描述】:

首先,如果有人解决了类似的问题,我深表歉意。我看了但没有运气(这可能是因为我不知道如何正确搜索这个问题。)以最简单的形式,假设我们有以下内容:

def func(x, a, b):
    return a*x + b*b

c = [2, 3]

您将如何使用func(x, c) 之类的函数?具体来说,不是将整个数组的元素写成函数的参数,而是如何干净地代替参数引用数组?

【问题讨论】:

标签: python list


【解决方案1】:

您可以使用扩展的可迭代解包操作符

def func(x, a, b):
    return a*x + b*b

c = [2, 3]
func(x,*c) 

【讨论】:

  • 这正是我想要的!非常感谢。打开包装,我会尽量记住这一点。
  • @CaptainMorgan,不客气!不要忘记接受答案以帮助其他人。
  • 我没有忘记。我试图接受它,但不得不等待 15nin。我刚刚接受了。
【解决方案2】:

答案可能是:包装

当我们不知道需要将多少个参数传递给一个python函数时,我们可以使用Packing将所有参数打包到一个元组中。

# A Python program to demonstrate use
# of packing

# This function uses packing to sum
# unknown number of arguments
def mySum(*args):
    sum = 0
    for i in range(0, len(args)):
        sum = sum + args[i]
    return sum

# Driver code
print(mySum(1, 2, 3, 4, 5))
print(mySum(10, 20))

【讨论】:

    猜你喜欢
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多