我有一个匹配函数参数的数组:

        TmpfieldNames = []
        TmpfieldNames.append(Trademark.name)
        TmpfieldNames.append(Trademark.id)
        return func(Trademark.name, Trademark.id)
func(Trademark.name.Trademark.id)有效,但func(TmpfieldNames)无效。如何在不像func(TmpfieldNames[0], TmpfieldNames[1])一样显式索引到数组的情况下调用函数?

最佳答案

使用*可以解压缩listtuple的参数,而**解压缩dict的参数。

>>> range(3, 6)             # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args)            # call with arguments unpacked from a list
[3, 4, 5]

来自documentation的示例。

09-06 04:16