Python列表中的搜索列表值

问题描述 投票:1回答:1

我遇到过这个:

searchTask = ["ST", "LOGIN", "BROWSE", "DOWNLOAD", "UPLOAD", "PING", "YOUTUBE", "FA", "BOOT"]
dateTime = "SCHEDULE: " + str(datetime.datetime.now().strftime("%H%M")) + "H"
finalList = []

for sublist in main_List:
    if dateTime in sublist:
       finalList.append(sublist[sublist.index(dateTime)])
       for x in searchTask:
           if x in sublist:
              finalList.append(sublist[sublist.index(x)])

这是main_List的值,它是一个具有列表值的列表,

[['SCHEDULE: 1509H', 'SCHEDULE: 1404H', 'ST: 1500', 'PING: www.google.com'], ['SCHEDULE: 1509H', 'SCHEDULE: 1700H', 'SCHEDULE: 2001H', 'ST: 1169', 'FA']]

我的问题是,如何在searchTask中搜索main_List的值,然后将这些值与预定时间一起附加到finalList。我打印的finalList应该是这样的,例如:

finalList = [['SCHEDULE: 1509H', 'ST: 1500', 'PING: www.google.com' ],['SCHEDULE: 1509H', 'ST: 1169', 'FA']]
python list
1个回答
1
投票
import datetime

main_List = [['SCHEDULE: 1509H', 'SCHEDULE: 1149H', 'ST: 1500', 'PING: www.google.com'], 
             ['SCHEDULE: 1509H', 'SCHEDULE: 1700H', 'SCHEDULE: 2001H', 'ST: 1169', 'FA']]

searchTask = ["ST", "LOGIN", "BROWSE", "DOWNLOAD", "UPLOAD", "PING", "YOUTUBE", "FA", "BOOT"]
dateTime = "SCHEDULE: " + str(datetime.datetime.now().strftime("%H%M")) + "H"
finalList = []

import re

pattern = "({}):".format("|".join(searchTask))
task_regex = re.compile(pattern)

for sublist in main_List:
    print dateTime
    if dateTime in sublist:
        finalList.append(dateTime)
        for e in sublist:
            if task_regex.search(e):
                finalList.append(e)
© www.soinside.com 2019 - 2024. All rights reserved.