Поиск значения в списке списка и добавление в пустой список - PullRequest
0 голосов
/ 22 апреля 2019

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

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 ]

3 голосов
/ 22 апреля 2019

Вам нужно изменить формат 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]

2 голосов
/ 22 апреля 2019

Две проблемы прямо здесь:

  1. dateTime = "SCHEDULE: " + str(datetime.datetime.now().strftime("%H%M") это вернет что-то вроде 'SCHEDULE: 1119', в котором будет отсутствовать конечный H, не соответствующий формату из ваших списков.
  2. Вы должны повторять это так:
for sublist in main_list:
    if dateTime in sublist:
         finalList.append(sublist)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...