我遇到過這個:finalList = []dateTime = "SCHEDULE: " + str(datetime.datetime.now().strftime("%H%M")) + "H"for sublist in main_List: if dateTime in sublist[0]: finalList.append(sublist)這是main_List它的值是一個具有列表值的列表,[['SCHEDULE: 1509H', 'SCHEDULE: 1404H', 'ST: 1500', 'PING: www.google.com'], ['SCHEDULE: 1509H', 'SCHEDULE: 1700H', 'SCHEDULE: 2001H', 'SCHEDULE: 1817H', 'ST: 1169', 'FA']]我的問題是,我怎樣才能得到每個列表中SCHEDULE等于的值。dateTime我認為我的這部分代碼是錯誤sublist[0]的,因為它只獲取列表的第一個索引。如何搜索中的值sublist?
2 回答

莫回無
TA貢獻1865條經驗 獲得超7個贊
您需要更改shedule_date_time格式,因為您的子列表中包含尾隨H。
main_list = [['SCHEDULE: 1509H', 'SCHEDULE: 1404H', 'ST: 1500', 'PING: www.google.com'], ['SCHEDULE: 1509H', 'SCHEDULE: 1700H', 'SCHEDULE: 2001H', 'SCHEDULE: 1817H', 'ST: 1169', 'FA']]
# adding extra "H" to match with your main_list data
shedule_date_time = "SCHEDULE: " + str(datetime.datetime.now().strftime("%H%MH"))
finalList = [sublist for sublist in main_list if shedule_date_time in sublist]

慕容708150
TA貢獻1831條經驗 獲得超4個贊
這里有兩個問題:
dateTime = "SCHEDULE: " + str(datetime.datetime.now().strftime("%H%M")
這將返回類似'SCHEDULE: 1119'
缺少尾隨的內容H
,與列表中的格式不匹配。你應該像這樣迭代:
for sublist in main_list: if dateTime in sublist: finalList.append(sublist)
添加回答
舉報
0/150
提交
取消