我以这种形式有一个清单,输入:冷凝多个列表综合
open_info = ['Cube 1, 9:30am to 10:00am, Thursday, March 3, 2016', 'Cube 2, 5:00pm to 5:30pm, Thursday, March 3, 2016']
我想通过这些信息来分析建立在这种形式的一个新的列表:
open_times = [[9, 30, 'am'],[5, 0, 'pm']]
与时针第一个指数,第二个分钟,第三个指数am/pm。我只记录每个列表元素的第一次值,因为我处理的时间间隔总是30分钟。
我已经通过下面的Python列表理解做到了这一点:
open_times = [x.split(",")[1].replace(" ","").split("to") for x in open_info]
open_times = [x[0].split(":")+x[1].split(":") for x in open_times]
open_times = [[int(x[0]),int(x[1][:2]),x[1][2:]] for x in open_times]
我想知道是否有创建嵌套列表理解了所有这些的。我已经看过python文档并阅读了关于这个主题的一些博客,但是我仍然无法完成这个任务。
你会反对非列表理解的解决方案?你知道吗,以便人们能够正确地消化实际的问题?作为进一步的问题,您希望列表的长度是多少? – Makoto
回应上述评论,你能解释为什么你想/需要使用列表解析而不是更传统的(和可读的)解析函数吗? –
我不会全都反对。我对python比较陌生,所以我试图通过练习更多地了解我遇到的困难。我知道这个解决方案很混乱,所以我来到这里。为了回答你的其他问题,列表长度是可变的,但它总是在0到几百之间。 @Makoto –