python - 根据值列表重复每个元素

标签 python list

是否有 Python 内置函数根据另一个列表中的相应值重复列表中的每个元素?例如 A in list x position 0 is repeated 2 times because of the value 2 at position 0 in the list y.

>>> x = ['A', 'B', 'C']
>>> y = [2, 1, 3]
>>> f(x, y)
['A', 'A', 'B', 'C', 'C', 'C']

或者换句话说,实现这个操作最快的方法是什么?

最佳答案

只需使用一个简单的列表理解:

>>> x = ['A', 'B', 'C']
>>> y = [2, 1, 3]
>>> [x[i] for i in range(len(x)) for j in range(y[i])]
['A', 'A', 'B', 'C', 'C', 'C']
>>> 

关于python - 根据值列表重复每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38758708/

相关文章:

python - 如何使 QTableWidget 中的单元格只读?

python - 如何在 Django 1.9 中显示用户状态(在线、离线)?

python - 如何使用 re 替换和移动 python 中的字符串模式?

python - 如何从一个热编码 csv 文件创建文件夹?

python - 在 Python 中查找多个列表中最相似的数字

c# - 哪个效率更高 : List<int> or int[]

python - 在python中对齐日文字符

list - LISP 的功能语言家族和一个代码片段?

r - 快速检查 R 中另一个列表中包含一个列表的多少个元素

list - C#将一个列表拆分为多个列表