如何比较两个排序列表以查找具有更大数字的列表?

B. *_*Lop -3 python list

我想比较两个列表中的元素.两个列表都包含数字,并从最大到最小排序.我想找到编号最高的列表.如果它们包含相同的最高编号,我想查看下一个最高编号等.

如果我有一个清单: [14, 5, 4, 3, 2]

我将它与以下内容进行比较: [14, 7, 4, 3, 2]

第二个列表会更大,因为下一个最高的数字是7.

同样,如果我有一个清单: [13, 12, 9, 7, 3]

和: [13, 12, 9, 8, 2]

第二个将是两者中较大的一个.

任何帮助,将不胜感激!

我尝试了以下建议之一:

def compare_high_card(hand_a,hand_b):'''确定哪个牌有最高的牌,如果hand_a牌高,则返回1,如果hand_b有high_card,则返回-1:param hand_a:比较的第一手:param hand_b:第二个手比较:返回:1如果hand_a有更高的卡,-1如果hand_b有更高的卡'''

hand_a = sort_hand_by_value(hand_a)
hand_b = sort_hand_by_value(hand_b)

hand_length = 5

for index in range(hand_length):

    if hand_a[index] > hand_b[index]:
        higher_hand =  1
        break
    elif hand_b[index] > hand_a[index]:
        higher_hand = -1
        break
    else:
        higher_hand = 0

return higher_hand
Run Code Online (Sandbox Code Playgroud)

hand_a = [14,1,9,4,2] hand_b = [14,1,8,5,2,2]

此代码仅打印出-1.

Mit*_*eat 5

如果列表已排序,只需执行以下操作:

a = [14, 5, 4, 3, 2]
b = [14, 7, 4, 3, 2]

print(a > b)
Run Code Online (Sandbox Code Playgroud)

参考:比较序列和其他类型:

"序列对象可以与具有相同序列类型的其他对象进行比较.比较使用词典排序:首先比较前两个项目,如果它们不同则确定比较的结果;如果它们相等,则接下来的两个项目进行比较,依此类推,直到任一序列耗尽为止"