为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

偶然的你 2022-01-18 15:56:17
我遇到过这个: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 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

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


查看完整回答
反对 回复 2022-01-18
?
慕容708150

TA贡献1831条经验 获得超4个赞

这里有两个问题:

  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)


查看完整回答
反对 回复 2022-01-18
  • 2 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信