鱼C论坛

 找回密码
 立即注册
查看: 1418|回复: 5

[已解决]如何计算时间的和

[复制链接]
发表于 2020-3-3 18:35:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
MD3CB~FT$JFU703GF`{EEQF.png
请问怎么计算图片中的这种时间啊,我想把它们的总时长算出来
最佳答案
2020-3-3 19:14:57
看示例:
from datetime import timedelta
times = ['00:06:39', '00:04:58']
print(sum([timedelta(hours=i[0], minutes=i[1], seconds=i[2]) for i in [tuple(int(j.strip("0") if j.strip("0") else 0) for j in i.split(":")) for i in times]], timedelta()))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-3 19:14:57 | 显示全部楼层    本楼为最佳答案   
看示例:
from datetime import timedelta
times = ['00:06:39', '00:04:58']
print(sum([timedelta(hours=i[0], minutes=i[1], seconds=i[2]) for i in [tuple(int(j.strip("0") if j.strip("0") else 0) for j in i.split(":")) for i in times]], timedelta()))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-3 19:26:03 | 显示全部楼层
a = ['01:08:47','02:06:22','03:49:46']
h = 0
m = 0
s = 0
for i in range(len(a)):
    h = int(a[i].split(':')[0]) + h
    m = int(a[i].split(':')[1]) + m
    s = int(a[i].split(':')[2]) + s

print(h,m,s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-3 19:37:33 | 显示全部楼层
楼上的也可以换成:
a = ['01:08:47','02:06:22','03:49:46']
h = 0
m = 0
s = 0
for x in a:
    h = int(x[0:2]) + h
    m = int(x[3:5]) + m
    s = int(x[6:8]) + s

print(h,m,s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-3-3 22:06:04 | 显示全部楼层

请问一下,最后一句合在一起的语法叫啥啊,我记得之前接触过,今天笔记资料就找不到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 23:10:56 | 显示全部楼层
一世长安呢 发表于 2020-3-3 22:06
请问一下,最后一句合在一起的语法叫啥啊,我记得之前接触过,今天笔记资料就找不到了

找到了,我之前笔记上的是列表生成式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 21:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表