如何在Python中创建时间值作为键(m:ss)的字典

2024-09-30 06:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

创建存储时间值(分和秒)的字典的格式是什么?例如,我想创建一个字典来保存跑步者的冲刺时间:mySprints = {"first":4:30,"second":3:13,"third":5:36}等等。在字典中输入的时间是什么格式? 先谢谢你


Tags: 字典格式时间跑步firstsecondthirdmysprints
1条回答
网友
1楼 · 发布于 2024-09-30 06:30:29

我相信有很多方法,但有一种选择是将时间作为字符串输入:

your_dict = {"first": "4:30","second": "3:13"}

或者,您可以在datetime模块中使用time类:

example = datetime.time(0,4,30) # this would be 0 hours, 4 minutes and 30 seconds

your_dict = {"first": datetime.time(0,4,30),"second": datetime.time(0,3,13)} # etc...

然后,您还可以创建一个lambda函数,以更轻松地启动时间,这样就不必每次都在字典中写入datetime。时间(0,分,秒),例如:

time_obj = lambda m, s: datetime.time(0,m,s)

your_dict['third'] = time_obj(5, 36)

print(your_dict['third']) # this would return: 00:05:36

要回答评论中的问题,可以将timedelta对象添加到一起,例如:

x = datetime.timedelta(minutes=2, seconds=20) # notice the .timedelta this time
y = datetime.timedelta(minutes=1, seconds=10)

print(x+y) # returns: 0:03:30

要排序,可以使用python sorted()函数对timedelta对象列表进行排序,例如:

x = datetime.timedelta(minutes=2, seconds=20)
y = datetime.timedelta(minutes=1, seconds=10)
z = datetime.timedelta(minutes=0, seconds=50)

times = [x, y, z]

print(times)
# returns: [datetime.timedelta(0, 140), datetime.timedelta(0, 70), datetime.timedelta(0, 50)]

print(sorted(times))
# returns: [datetime.timedelta(0, 50), datetime.timedelta(0, 70), datetime.timedelta(0, 140)]

要在字典中对它进行排序,我建议看一下this stackoverflow question

相关问题 更多 >

    热门问题