zip(* [iter(s)] * n)在Python中如何工作?
s = [1,2,3,4,5,6,7,8,9]n = 3
zip(*[iter(s)]*n) # returns [(1,2,3),(4,5,6),(7,8,9)]
zip(*[iter(s)]*n)
工作如何?如果用更冗长的代码编写,它将是什么样?
回答:
iter()
是序列上的迭代器。[x] * n
产生一个包含n数量的列表x
,即一个长度的列表n,其中每个元素都是x。*arg
将序列解压缩为函数调用的参数。因此,你要将3次相同的迭代器传递给zip(),并且每次都会从迭代器中提取一个项目。
x = iter([1,2,3,4,5,6,7,8,9])print zip(x, x, x)
以上是 zip(* [iter(s)] * n)在Python中如何工作? 的全部内容, 来源链接: utcz.com/qa/405735.html