如何将python字典转换为具有故意重复值的列表

Dan*_*iel 2 python dictionary

我有一个以下形式的字典:

{'string1': 3, 'string2': 4, 'string3':2}
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个列表,其中键的实例是其对应的值对的函数.像这样:

['string1','string1','string1','string2','string2','string2','string2','string3','string3']
Run Code Online (Sandbox Code Playgroud)

我正在努力解决这个问题,因为我觉得应该有一个优雅的解决方案.这是我到目前为止所拥有的:

t2 = [dictionary[key]*key for key in dictionary.keys()]
Run Code Online (Sandbox Code Playgroud)

但这产生了以下混乱:

['string2string2string2string2', 'string3string3', 'string1string1string1']
Run Code Online (Sandbox Code Playgroud)

Psi*_*dom 5

如果键的顺序不重要,您可以尝试这样做:

[k for k, v in d.items() for _ in range(v)]

#['string2',
# 'string2',
# 'string2',
# 'string2',
# 'string3',
# 'string3',
# 'string1',
# 'string1',
# 'string1']
Run Code Online (Sandbox Code Playgroud)