通过比较Python中列表元素的值来比较列表

时间:2020-04-01 17:01:46

标签: python

我是Python的新手,需要部分项目的帮助。我正在尝试比较两个数字列表中哪个列表更大,例如[1,2,3,4,5,6][6,5,4,3,2,1]。当列表的长度相同时,我需要从左到右逐位比较扫描列表。我以为从for循环开始,但不确定如何实现。

2 个答案:

答案 0 :(得分:2)

您可以将内置函数max与参数key一起使用:

l1 = [1,2,3,4,5,6]
l2 = [6,5,4,3,2,1]

max([l1, l2], key=lambda x: (len(x), x))

或者您可以使用(由@ Ch3steR建议):

max(l1,l2,key=lambda x:(len(x),x))

答案 1 :(得分:0)

所以您是说您基本上需要比较一下,看看123,456是否大于654,321?

您可以创建一个接受两个输入列表的函数,如下所示:

def compare(list1, list2):
    first_number = int(''.join(str(x) for x in list1))
    second_number = int(''.join(str(x) for x in list2))
    if first_number > second_number:
        return first_number
    else:
        return second_number

这实际上将每个列表转换为字符串,并将列表强制转换为int,然后返回较大的int。

希望有帮助!