我以這種形式有一個清單,輸入:冷凝多個列表綜合
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 –