【发布时间】:2013-06-15 15:11:53
【问题描述】:
我有一堆表格列表:
list1 = [4,[14,13,12,11,10]]
list2 = [4,[13,12,11,10,9 ]]
list3 = [4,[5 ,4 ,3 ,2 ,1 ]]
list4 = [3,[14,14,14,13,1 ]]
list5 = [3,[14,14,14,12,11]]
list6 = [2,[14,14,13,13,12]]
list7 = [1,[14,14,13,12,11]]
list8 = [0,[14,13,12,11, 9]]
我需要使用以下比较来比较这些列表: 1)比较第一个子列表。并返回所有包含最大子列表值的列表。因此,在上述情况下,我将返回 list1、list2、list3,因为它们的第一个子列表值都是 4。 2)然后我会比较第二个子列表(这是列表中的列表) 这种比较将在每个列表中逐个元素进行。 示例:查看列表 1、2、3。列表 1 的第一个元素是 14,列表 2 的第一个元素是 13,列表 3 的第一个元素是 5。这样会导致返回列表 1,因为它的值高于列表 2 和列表 3。
但请考虑一下:
list1 = [4,[14,13,12,11,10]]
list2 = [4,[14,13,11,10,8 ]]
list1 和 list2 都有 4 作为第一个子列表,所以我会抓住它们。接下来,我将查看第二个子列表(同样是列表),并逐个元素进行比较,直到一个列表大于另一个列表。所以在这里我会比较 14 == 14、13 == 13,最后是 12 > 11,所以会返回 list1。
我仍然需要使用任意数量的列表和元素横向来执行此操作。 我怎样才能做到这一点?
【问题讨论】:
-
你的问题不太清楚......但是尝试使用带有
*args的函数来处理任意数量。我对这个功能无能为力,因为当你说“我必须找到多少元素我也不会知道的差异”时,我真的不知道你想要什么 -
预期输出是什么?您是否尝试根据内容对列表进行排序?
-
这些都是独立的变量吗?为什么这些值不在字典或列表中?如果这些项目是列表中的列表(而不是单独的变量),这些项目是否按第一个值排序?
-
Martijn,这些都在一个仅由整数索引的字典中,因此 list1 真正对应于 mydict[1]。从长远来看,我想返回与返回的列表对应的字典键,但这是下一步。
标签: python list compare sublist