如何在Python中的列表列表中获取前一个列表中的项目?

2024-10-05 14:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表和另一个类似的列表:

new_list = []

lst_of_lst = [['MHK', 549, 'ABC', 3], ['OMK', 567, 'TTT', 8], ['KDH', 675, 'TGH' , 12]]
lst = ['MHK', 553, 'ABC']

我必须观察lst_of_lst[1]何时比lst[1]更大,然后“返回”到上一个列表以获得lst_of_lst[3],在本例中是“3”,因为553(从lst开始)在549到567之间。3之后应该附加到new_list,但这不是问题

我试过:

if lst_of_lst[1] > lst[1]:
    new_list.append(lst_of_lst[3][:-1])

但这行不通。更具体地说:append应该如何从lst\u of lst中的最后一个列表中获取不比list[1]大的数字。 希望你能理解我的问题

有人能帮我吗? 提前谢谢


Tags: of列表newif数字listabcappend
1条回答
网友
1楼 · 发布于 2024-10-05 14:32:26

指出你的解决方案有什么问题-

  • lst_of_lst[1] > lst[1]-这里比较一个列表和一个值,这将给出一个TypeError
  • 您正在尝试附加一个不存在的元素-lst_of_lst[3][:-1]-lst_of_lst[3]超出范围,索引仅为0,1,2。最后,[:-1]将元素范围设置为最后一个,而不是最后一个值

你的问题是非常模糊的,因为它不清楚你到底想做什么来概括解决方案,也就是说,迭代地遍历所有元素),否则你可以手动完成。 为了明确回答你的问题,你应该试试这个

new_lst = [] if lst_of_lst[1][1] > lst[1]: new_lst.append(lst_of_lst[0][-1])

相关问题 更多 >