如何从Python中的列表列表中的上一个列表中获取项目?

时间:2018-02-23 01:40:00

标签: python python-3.x list

我有一个列表列表和另一个列表:

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

但这不起作用。更具体一点:追加应该如何从lst_of_lst中的最后一个列表中获取不比列表[1]更大的数字。 希望你理解我的问题。

有人可以帮帮我吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

  • 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])