如有字典: d = {'x': 2, 'y': 3, 'z': 5}
要得到列表:[('x', 1),('x', 2),('y', 1),('y', 2), ('y', 3),('z', 1),('z', 2),('z', 3),('z', 4),('z', 5)]
我只能想到写法:
L = []
for a, n in d.iteritems():
....L += [(a, i) for i in range(1, n+1)]
print L
但总感觉还有更 pythonic 的写法,想不出来,不甘心,请教一下大家
要得到列表:[('x', 1),('x', 2),('y', 1),('y', 2), ('y', 3),('z', 1),('z', 2),('z', 3),('z', 4),('z', 5)]
我只能想到写法:
L = []
for a, n in d.iteritems():
....L += [(a, i) for i in range(1, n+1)]
print L
但总感觉还有更 pythonic 的写法,想不出来,不甘心,请教一下大家