我有一个列表和另一个类似的列表:
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]大的数字。 希望你能理解我的问题
有人能帮我吗? 提前谢谢
指出你的解决方案有什么问题-
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])
相关问题 更多 >
编程相关推荐