我有一本字典
d = {1: 3, 5: 6, 10: 2}
我想将其转换为包含字典键的列表。每个密钥应重复与其关联值相同的次数。
我写了这段代码来完成这项工作:
d = {1: 3, 5: 6, 10: 2} l = [] for i in d: for j in range(d[i]): l.append(i) l.sort() print(l)
输出:
[1, 1, 1, 5, 5, 5, 5, 5, 5, 10, 10]
但是我希望它能成为列表理解者。如何才能做到这一点?
您可以使用列表理解来做到这一点:
[i for i in d for j in range(d[i])]
产量:
[1, 1, 1, 10, 10, 5, 5, 5, 5, 5, 5]
您可以再次对其进行排序以获得所需的列表。