Python 3.x 如何获得无限*args列表中最高的两个数字?
首先,如果它不在*args列表中,我知道该怎么做,但长话短说,它必须在一个创建*args列表的函数中 我正在打印列表中最大的两个数字Python 3.x 如何获得无限*args列表中最高的两个数字?,python-3.x,Python 3.x,首先,如果它不在*args列表中,我知道该怎么做,但长话短说,它必须在一个创建*args列表的函数中 我正在打印列表中最大的两个数字 def findTwoLargest(*args): max1 = 0 max1 = max(args) args.sort() max2 = 0 max2 = args[-2] return max1, max2 m1, m2 = findTwoLargest(-2, 30, -4, 9, 1, 6) p
def findTwoLargest(*args):
max1 = 0
max1 = max(args)
args.sort()
max2 = 0
max2 = args[-2]
return max1, max2
m1, m2 = findTwoLargest(-2, 30, -4, 9, 1, 6)
print(m1, m2)
args
是一个tuple
,因此不能对其使用sort
方法。您可以改用sorted
函数:
def findTwoLargest(*args):
max1 = 0
max1 = max(args)
max2 = 0
max2 = sorted(args)[-2]
return max1, max2
m1, m2 = findTwoLargest(-2, 30, -4, 9, 1, 6)
print(m1, m2)
简短版本:
def findTwoLargest(*args):
max2, max1 = sorted(args)[-2:]
return max1, max2