Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从列表中同时获取最大值和最小值_Python_Compare_Max - Fatal编程技术网

Python 如何从列表中同时获取最大值和最小值

Python 如何从列表中同时获取最大值和最小值,python,compare,max,Python,Compare,Max,例如,我有两个元组 tup1 = (200,(b,5),(a,5)) tup2 = (500,(b,7),(a,3)) 首先,我想找到第一个元素最高的元组,但如果它们相同,我想找到第二个元素最低的元组。但是如果前两个元素等于另一个元组的前两个元素,那么我必须得到第三个元素最小的元组。如何才能正确地执行此操作 对于本例,结果必须是tup_end=(500,(b,7),(a,3)),因为tup2的第一个元素大于tup的第一个元素 如果 tup1=(200,(b,5),(a,5)) tup2=(20

例如,我有两个元组

tup1 = (200,(b,5),(a,5))
tup2 = (500,(b,7),(a,3))
首先,我想找到第一个元素最高的元组,但如果它们相同,我想找到第二个元素最低的元组。但是如果前两个元素等于另一个元组的前两个元素,那么我必须得到第三个元素最小的元组。如何才能正确地执行此操作

对于本例,结果必须是
tup_end=(500,(b,7),(a,3))
,因为tup2的第一个元素大于tup的第一个元素

如果
tup1=(200,(b,5),(a,5))
tup2=(200,(b,7),(a,3))

结果必须是
tup_end=(200,(b,5),(a,5))
,因为tup1和tup2的第一个元素相等,但tup1的第二个元素小于tup2的第二个元素使用以下代码:

lst = [2, 6, 8, 4, 3] # example of numeric lst
获取最大值:

print(max(lst)) # printed 8
获取最小值:

print(min(lst)) # printed 2
不要忘记使用
int(lst)
来确保它由数值组成

您可以使用上述功能帮助您轻松完成练习

也适用于元组

您可以使用
min(…,key=function)
函数创建第一个值为负值的项,然后您必须找到最小的
-first
和最小的其他值-而不是最大的
first
值和最小的其他值-因此您可以使用
min()
用于元组中的所有值

def create(item):
    first = item[0]
    rest = item[1:]
    return (-first, *rest)

a = 0
b = 0

tup1 = (200, (b,5), (a,5))
tup2 = (500, (b,7), (a,3))

tup_end = min([tup1, tup2], key=create)
print(tup_end)

tup1 = (200,(b,5),(a,5))
tup2 = (200,(b,7),(a,3))

tup_end = min([tup1, tup2], key=create)
print(tup_end)
结果

(500, (0, 7), (0, 3))
(200, (0, 5), (0, 5))

到目前为止你试过什么?您的示例的预期输出是什么?您不能循环并检查所有这些吗?请添加一个更完整的示例和预期输出
tup\u end=min([tup1,tup2],key=function\u which\u create\u object\u to\u compare)
?否,因为如果第一个元素不同,我希望接收第一个元素最大的元组