簡體   English   中英

將列表傳遞給函數以代替許多參數

[英]Passing List to Function in place of Many Arguments

首先,對於類似的問題已經解決,我深表歉意。 我看了一下,但是沒有運氣(可能是由於我不知道如何正確搜索此問題。)以最簡單的形式,假設我們有以下內容:

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

c = [2, 3]

您將如何使用func(x, c)類的func(x, c) 具體而言,與其將整個數組的元素寫出作為函數的參數,不如將參數完全引用到數組中,您該如何干凈地呢?

您可以使用擴展的可迭代拆包運算符

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

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

答案可能是:包裝

當我們不知道需要向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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM