Python 在列表的列表中搜索值,然后附加到空列表
我遇到过这样的情况:Python 在列表的列表中搜索值,然后附加到空列表,python,list,Python,List,我遇到过这样的情况: 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的值,它是一个具有List值的列表 [['SCHEDULE: 1509H', 'SC
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
的值,它是一个具有List值的列表
[['SCHEDULE: 1509H', 'SCHEDULE: 1404H', 'ST: 1500', 'PING: www.google.com'], ['SCHEDULE: 1509H', 'SCHEDULE: 1700H', 'SCHEDULE: 2001H', 'SCHEDULE: 1817H', 'ST: 1169', 'FA']]
我的问题是,如何获得每个列表中的时间表
的值等于日期时间
我认为我的代码的这一部分是错误的
子列表[0]
,因为它只获取列表的第一个索引。如何在子列表中搜索值?这里有两个问题:
dateTime=“SCHEDULE:”+str(dateTime.dateTime.now().strftime(“%H%M”)
这将返回类似于'SCHEDULE:1119'
的内容,该内容将缺少尾随的H
,与列表中的格式不匹配
您应该像这样迭代:
由于子列表中包含尾随的H,您需要更改schedule\u date\u time格式
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]
您自己回答了问题。您只在另一个字符串中搜索此字符串,即子列表[0]
,但是你应该在整个子列表中搜索,你知道怎么做。@ForceBru它是这样的吗,先生,子列表
?但是我尝试了这个,它给了我子列表的全部值。是的,你检查如果你在子列表中的字符串:
,然后像在代码中那样附加子列表。谢谢你的回答,先生,但是怎么做呢我可以只获取dateTime的特定值吗?例如,SCHEDULE:1509H
只获取这一个,因为在您的脚本中,我获取的列表的整个值与dateTime
的值非常接近。如果dateTime在子列表中,则可以使用.index()获取它的索引sublist
上的
只将该元素附加到finalList中。我是这样做的finalList.append(sublist.index(dateTime))
,但它给了我索引的编号。我如何才能得到确切的值,先生?finalList.append(sublist[sublist.index(dateTime)]
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]