繁体   English   中英

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

[英]Comparing lists by comparing values of elements of the list in Python

我对 Python 很陌生,需要一些项目的帮助。 我试图比较两个数字列表之间哪个列表更大,例如[1,2,3,4,5,6][6,5,4,3,2,1] 当列表的长度相同时,我需要从左到右扫描列表,逐位比较。 我想从 for 循环开始,但我不确定如何实现它。

您可以使用带有参数key的内置函数max

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))

所以你是说你基本上需要比较看看 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。

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM