【发布时间】:2013-04-21 06:52:38
【问题描述】:
我有一个字典。键是 0 到 60 之间的数字。这是分钟。示例字典如下所示:
{u'31': 1, u'2': 0, u'30': 1}
我想将键(数字)打印为时间线,所有键之间有连字符,所有键都用逗号分隔。连字符的数量由字典中每个键的数量表示。
净结果应该是:
-,-,0,-,-,-,-,-,-,-,-,-,-,1,1,-,-,-,-,-,-
(以上只是为了说明,中间的连字符数不正确,但你得到了图片。这意味着在位置2(字典的键),有0(字典的值),在位置@ 987654325@还有1的值等等)。
我有这个代码
for k, v in time_events.iteritems():
print '-,'*int(k) + str(v)+',',
但这会导致
-,-,0,-,-,-,-,-,-,1,-,-,-,-,-,-,-1
它将每个事件打印为单独的时间线(因此30 和 31 之间将有 30 个连字符,并且应该没有)
我的猜测是,首先按键对字典进行排序,然后从当前键中减去前一个键号,这将给出剩余的连字符数,但尚未在数字之间打印。但是如何在我的for 循环中实际访问previous key?
希望我的问题可以理解。
【问题讨论】:
标签: python printing python-2.7