我有一个列表列表和另一个列表:
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]更大的数字。 希望你理解我的问题。
有人可以帮帮我吗? 提前谢谢。
答案 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])