class Solution:
def shuffle(self, nums: List[int], n: int) -> List[int]:
return sum(zip(nums[:n],nums[n:]),())
用zip()函数将列表的前半段和后半段打包,然后用sum()函数拼接。
在用sum()拼接时遇到一个问题,如果直接用
sum(zip(nums[:n],nums[n:])) #去掉第二个参数()
会报错:TypeError: unsupported operand type(s) for +: 'int' and 'tuple'
查阅sum()函数的资料得知
sum(iterable[, start])
参数:
iterable -- 可迭代对象,如:列表、元组、集合。
start -- 指定相加的参数,如果没有设置这个值,默认为0。
因为第二个参数默认为0,所以会报错int和tuple不能相加。
而设定第二个参数为()后,即可实现相加,返回一个列表。