Python:通过列表的元素计数来重建列表



我有一个包含几个元素(0,1,2,3,…(的列表

现在我有一个dict,上面的唯一元素作为键,它们的计数作为值:

{0:1, 1:3, 2:4, 3:6}

我想把它重建回一个列表

[0, 1,1,1, 2,2,2,2, 3,3,3,3,3,3]

有什么蟒蛇般的方式可以实现这一点吗?香草的或加了努皮的。

from collections import Counter
c = Counter({0:1, 1:3, 2:4, 3:6})
list(c.elements())

您可以简单地使用sum((进行以下操作:

d = {0:1, 1:3, 2:4, 3:6}
d = sum([[k]*v for k,v in d.items()], [])

这是一种numpy方式:

d = {0:1, 1:3, 2:4, 3:6}
np.repeat(list(d.keys()), list(d.values()))

最新更新