オンラインストアの管理者の義務をスケジュールするためのプログラムを作成する必要があると想像してください。 彼との仕事はできる限りシンプルで、次のようなものでした。
#
>>> timetable[ '08:00' : '12:00' ] = ''
>>> timetable[ '12:00' : '16:00' ] = ''
# 13:51 ?
>>> print timetable[ '13:51' ]
#
>>> for interval, person in timetable.items(): print interval, person
( '08:00' , '12:00' )
( '12:00' , '16:00' )
# ...
>>> print timetable
{[ '08:00' , '12:00' ] => '' , [ '12:00' , '16:00' ] => '' }
#
>>> del timetable[ '15:00' : '16:00' ]
>>> print timetable
{[ '08:00' , '12:00' ] => '' , [ '12:00' , '15:00' ] => '' }
# ...
>>> del timetable[ '12:00' : '16:00' ]
>>> print timetable
{[ '08:00' , '12:00' ] => '' }
#
>>> timetable[ '11:00' : '15:00' ] = ''
>>> print timetable
{[ '08:00' , '11:00' ] => '' , [ '11:00' , '15:00' ] => '' }
# ,
# , 15 17,
# ,
>>> timetable[ '15:00' : '17:00' ] = ''
>>> print timetable
{[ '08:00' , '11:00' ] => '' , [ '11:00' , '17:00' ] => '' }
#
>>> timetable[ '17:00' : '20:00' ] = ''
>>> timetable[ '21:00' : '23:00' ] = ''
>>> timetable
{[ '08:00' , '11:00' ] => '' , [ '11:00' , '17:00' ] => '' ,
[ '17:00' , '20:00' ] => '' , [ '21:00' , '23:00' ] => '' }
# , ,
# . , .
>>> timetable.shrink()
>>> print timetable
{[ '08:00' , '20:00' ] => '' , [ '21:00' , '23:00' ] => '' }
#
# .
ほぼそのようなタスクは、プロジェクトで私に直面しました。 グーグルは、いくつかの重要な機能が欠けている興味深いレシピを提供しました。 ファイルが完成した後、すべてが適切に配置されました。
誰がそれを必要とする-気軽にそれを取る。 コメント、質問、バグレポートは大歓迎です。 開発のアイデアがある場合は、書いてください!
UPD:残念ながら、Visual Code HighlighterとHabraparserの後、コードのフォーマットが完全に台無しになったため、ここから削除してGoogleに掲載します: code.google.com/p/intervalmap/source/browse/trunk/intervalmap.py