Python返回时如何解包?

比如

a = [(1,2,3), (1,2)]

def foo(*args):

return args[0]+1, args[1:]

b = list(map(foo, a))

例子希望b能是[(2,2,3), (2,2)],但是args[1:]是一个tuple,而且也无法用*解包。
应该如何实现?(不使用循环取出实现的话)

回答:

from itertools import starmap

a = [(1,2,3), (1,2)]

def foo(*args):

return (args[0]+1,) + args[1:]

b = list(starmap(foo, a))

回答:

a = [(1,2,3), (1,2)]

def foo(*args):

return (args[0][0] + 1,) + args[0][1:]

b = list(map(foo, a)) # [(2,2,3), (2,2)]

图片描述

以上是 Python返回时如何解包? 的全部内容, 来源链接: utcz.com/a/165350.html

回到顶部