In [7]: a = [0, 5, 1]In [8]: b = [1, 2, 1]In [9]: list(itertools.chain(*(itertools.repeat(elem, n) for elem, n in zip(a, b))))Out[9]: [0, 5, 5, 1]In [10]: b = [2, 3, 4]In [11]: list(itertools.chain(*(itertools.repeat(elem, n) for elem, n in zip(a, b))))Out[11]: [0, 0, 5, 5, 5, 1, 1, 1, 1]
内容如下:
itertools.repeat(elem, n)
-重复elem次zip(a, b)
从两个列表中组成一个2元组的列表,将每个元素与另一个列表中的对应元素配对。这为您提供了itertools.repeat
用例中需要传递给的确切信息。itertools.chain
-将迭代器的结果列表展平为单个值列表。您既可以chain(*iterable)
像我一样,也可以chain.from_iterable(iterable)
像马丁·彼得斯那样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)