簡體   English   中英

在列表列表中搜索值然后附加到空列表

[英]Searching value in list of list then appending to empty 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的值,它是一個具有列表值的列表,

[['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的值?

您需要更改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]

這里有兩個問題:

  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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM