我遇到了这个问题:
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
中搜索值?
答案 0 :(得分:2)
这里有两个问题:
dateTime = "SCHEDULE: " + str(datetime.datetime.now().strftime("%H%M")
这将返回类似'SCHEDULE: 1119'
的内容,该内容将缺少结尾的H
,与列表中的格式不匹配。for sublist in main_list:
if dateTime in sublist:
finalList.append(sublist)
答案 1 :(得分:2)
您需要更改 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]