通过比较Python中列表元素的值来比较列表
我是Python新手,需要一些项目的帮助。我试图比较两个数字列表中哪个更大,例如通过比较Python中列表元素的值来比较列表,python,Python,我是Python新手,需要一些项目的帮助。我试图比较两个数字列表中哪个更大,例如[1,2,3,4,5,6]和[6,5,4,3,2,1]。当列表的长度相同时,我需要从左到右扫描列表,逐位比较。我想从for循环开始,但我不确定如何实现它。您可以使用带有参数键的内置函数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建议): 你是说你基本上需要比
[1,2,3,4,5,6]
和[6,5,4,3,2,1]
。当列表的长度相同时,我需要从左到右扫描列表,逐位比较。我想从for循环开始,但我不确定如何实现它。您可以使用带有参数键的内置函数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建议):
你是说你基本上需要比较看123456是否大于654321
您可以创建一个接受两个输入列表的函数,如下所示:
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
希望有帮助 对不起,我需要知道像123456和654321这样的两个数字之间哪个数字更大,但是这些数字已经被放入列表max(l1,l2,key=lambda x:(len(x),x))
,因为max
签名是max(*args,key)
。没问题+1没问题!如果我能帮忙,如果你能把答案记为正确的话,我将不胜感激
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