Python Search значения списка в списке списка - PullRequest
1 голос
/ 25 апреля 2019

Я сталкивался с этим:

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']]

1 Ответ

1 голос
/ 25 апреля 2019
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...