我遇到过这个: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
提交
取消