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

舞会2

给出以下列表:

a = [0, 5, 1]
b = [1, 2, 1]

我想将[a]的每个元素重复其在[b]中的对应位置的编号,以产生此结果:

[0, 5, 5, 1]

即0发生1次,5发生2次,1发生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 n次
  • zip(a, b)从两个列表中组成一个2元组的列表,将每个元素与另一个列表中的对应元素配对。这为您提供了itertools.repeat用例中需要传递给的确切信息
  • itertools.chain-将迭代器的结果列表展平为单个值列表。您既可以chain(*iterable)像我一样,也可以chain.from_iterable(iterable)像马丁·彼得斯那样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

根据另一个列表中的索引汇总一个列表中的元素

如何根据另一个列表中另一个元素的索引从列表中写出元素?

根据名称用另一个列表中的元素替换列表中的元素

Python:根据另一个列表中的元素删除列表元素

根据元素名称删除另一个列表中不存在的列表元素

根据另一个列表中的元素提取元组列表的元素

如何根据另一个列表的元素和条件从一个列表中删除元素?

用另一个嵌套列表中的n重复嵌套列表中的元素

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

如何根据另一个列表的内容删除一个列表中的列表元素?

根据另一个列表中对象的字段值从列表中删除元素-JAVA

根据另一个列表中的匹配从python列表中删除元素

根据另一个列表中的True / False筛选列表中的元素

根据存储在另一个列表中的索引替换列表中的元素

从另一个列表的第N个索引追加列表,并根据元素数重复

根据条件从另一个列表中删除一个列表中的某些元素

如何根据相同元素的另一个值在字典列表中搜索元素的值?

根据另一个列表从列表中过滤元素

如何根据另一个列表过滤Python中的列表元素?

根据另一个列表随机替换字典列表中的元素

根据另一个列表计算嵌套列表中的元素

根据另一个列表合并列表中的元素

根据另一个列表从子列表中删除元素

根据R中的另一个列表将元素添加到列表

使用“ while”从另一个列表中删除一个列表中的元素

Python在一个列表中查找不在另一个列表中的元素

从另一个列表中的一个列表中查找元素数

根据python中的另一个列表匹配一个列表的元素,其中一个列表的元素是另一个列表的元素的子字符串