python列表做参数传值_Python异步传递参数列表到用*

让我们考虑一下文档中的以下示例:import asyncio

async def factorial(name, number):

f = 1

for i in range(2, number+1):

print("Task %s: Compute factorial(%s)..." % (name, i))

await asyncio.sleep(1)

f *= i

print("Task %s: factorial(%s) = %s" % (name, number, f))

loop = asyncio.get_event_loop()

loop.run_until_complete(asyncio.gather(

factorial("A", 2),

factorial("B", 3),

factorial("C", 4),

))

loop.close()

收集功能在模块中如下所示:

^{pr2}$

它工作得很好,但是对于我的实际问题,我需要传递的聚集函数不是带有硬编码参数的多个函数,而是某种形式的元组理解来创建多个函数。在

我试过了:loop = asyncio.get_event_loop()

loop.run_until_complete(asyncio.gather(

[factorial(str(g),g) for g in range(3)]

))

loop.close()

但它不起作用。有人知道如何使用聚集函数来处理程序化创建的函数列表吗?在

需要说明的是:gather函数不是我定义的,所以我不能从它的定义中删除*并简单地传递这样的参数列表。我需要“打开”清单,但我不知道怎么做。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值