基于另一个元素的一个列表中的Python重复元素
发布时间:2020-12-20 11:52:06 所属栏目:Python 来源:网络整理
导读:鉴于以下列表: a = [0,5,1]b = [1,2,1] 我想用[b]中相应位置的数字重复[a]的每个元素来产生这个: [0,1] 即0发生1次,5发生2次,1发生1次. 解决方法 In [7]: a = [0,1]In [8]: b = [1,1]In [9]: list(itertools.chain(*(itertools.repeat(elem,n) for elem,n
鉴于以下列表:
a = [0,5,1] b = [1,2,1] 我想用[b]中相应位置的数字重复[a]的每个元素来产生这个: [0,1] 即0发生1次,5发生2次,1发生1次. 解决方法In [7]: a = [0,1] In [8]: b = [1,1] In [9]: list(itertools.chain(*(itertools.repeat(elem,n) for elem,n in zip(a,b)))) Out[9]: [0,1] In [10]: b = [2,3,4] In [11]: list(itertools.chain(*(itertools.repeat(elem,b)))) Out[11]: [0,1,1] 这里的作品如下: > itertools.repeat(elem,n) – 重复elem n次> zip(a,b)列出两个列表中的2元组列表,将每个元素与另一个列表中的相应元素配对.这将为您提供在您的用例中传递给itertools.repeat的确切内容.> itertools.chain – 将生成的迭代器列表展平为单个值列表.您可以像我一样链接(* iterable)或像Martijn Peters那样链接.from_iterable(可迭代). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |