有没有办法将Python元组扩展为函数——作为实际参数?

举个例子,这里的expand()有魔力:

some_tuple = (1, "foo", "bar")

def myfun(number, str1, str2):
    return (number * 2, str1 + str2, str2 + str1)

myfun(expand(some_tuple)) # (2, "foobar", "barfoo")

我知道可以将myfun定义为myfun((a, b, c)),但当然可能存在遗留代码.

推荐答案

myfun(*some_tuple)完全按照你的要求go 做.*运算符解压缩元组(或任何可迭代对象),并将它们作为位置参数传递给函数.阅读更多关于unpacking arguments的内容.

Python相关问答推荐

从包含基本数据描述的文本字段中识别和检索特定字符序列

使用decorator 重复超载

在Python中,如何才能/应该使用decorator 来实现函数多态性?

如何才能将每个组比上一组增加N %?

从Python调用GMP C函数时的分段错误和内存泄漏

覆盖Django rest响应,仅返回PK

如何通过多2多字段过滤查询集

Matlab中是否有Python的f-字符串等效物

根据在同一数据框中的查找向数据框添加值

ModuleNotFound错误:没有名为Crypto Windows 11、Python 3.11.6的模块

Pytest两个具有无限循环和await命令的Deliverc函数

从收件箱中的列中删除html格式

我对我应该做什么以及我如何做感到困惑'

关于Python异步编程的问题和使用await/await def关键字

使用Python更新字典中的值

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

如何在turtle中不使用write()来绘制填充字母(例如OEG)

启动带有参数的Python NTFS会导致文件路径混乱

try 检索blob名称列表时出现错误填充错误""

python panda ExcelWriter切换动态公式到数组公式