根据另一个列表中的元素重复一个列表中的元素

根据另一个列表中的元素重复一个列表中的元素,第1张

根据另一个列表中的元素重复一个列表中的元素
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)
    马丁·彼得斯那样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645593.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存