在Python中提取数据的更好方法

时间:2015-12-18 15:31:40

标签: python

我有一些代码可以从我在线课程中获得讲座时间。得到的答案是[['02:29']]的形式。我想我会使用以下代码来获取数字:

time1=timeList[0]
time2=time1[0]
time3=(time2.contents[0])
(parts) = time3.split(":")

有更好的方法以更少的步骤执行此操作吗?有什么资源可以帮助我将来?或者这是你通过编码然后寻求帮助才能学到的东西之一?

2 个答案:

答案 0 :(得分:1)

它只是一个列表,只有一个项目吗?

然后你可以实现同样的目标:

test = [['02:29']]
parts = test[0][0].split(':')
print parts # result: ['02', '29']

但我不确定我是否帮你了

答案 1 :(得分:0)

Itertool随时可用:

Itertools

您可以将列表链接起来,因为它总是采用相同的格式:

import itertools
time1 = list(itertools.chain(*timeList))[0].split(":")[0]

这个解决方案速度非常快,而且非常流畅。理解有点复杂,但它使工作非常有效。

  • 注意:无论您有1级,2级还是3级,它都适用于更多级别的子阵列

<强>更新

由于您表示您想将其转换为原始秒数,答案是:

time1 = list(itertools.chain(*timeList))[0].split(":")
seconds_total = (time1[0] * 60) + time1[1]