Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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中使用min/max函数比较两个浮点值元素列表_Python_List - Fatal编程技术网

在python中使用min/max函数比较两个浮点值元素列表

在python中使用min/max函数比较两个浮点值元素列表,python,list,Python,List,我使用min函数对以下两个列表进行元素比较,以获得每对的min值: a = [1915.2322937926342, 2986.621770760078] b = [2563.0, -4320.21030101545] min(a,b) Out[123]: [1915.2322937926342, 2986.621770760078] 我希望输出为: [1915.2322937926342, -4320.21030101545] 我尝试了一个简单的示例来确保max函数正常工作: a =

我使用min函数对以下两个列表进行元素比较,以获得每对的min值:

a = [1915.2322937926342, 2986.621770760078]

b = [2563.0, -4320.21030101545]

min(a,b)
Out[123]: [1915.2322937926342, 2986.621770760078]
我希望输出为:

[1915.2322937926342, -4320.21030101545]
我尝试了一个简单的示例来确保max函数正常工作:

a = [1, 3]
b = [2, -1000]

min(a, b) = [1, -1000]
有人能告诉我为什么min函数在我的第一个示例中不起作用吗?非常感谢

您可以使用:

lists = [[1915.2322937926342, 2986.621770760078], [2563.0, -4320.21030101545]]

output = []

for l in lists:
  output.append(min(l))

print(output)
# [1915.2322937926342, -4320.21030101545]

或使用列表理解:

lists = [[1915.2322937926342, 2986.621770760078], [2563.0, -4320.21030101545]]
print([min(l) for l in lists])
# [1915.2322937926342, -4320.21030101545]
您可以使用:

lists = [[1915.2322937926342, 2986.621770760078], [2563.0, -4320.21030101545]]

output = []

for l in lists:
  output.append(min(l))

print(output)
# [1915.2322937926342, -4320.21030101545]

或使用列表理解:

lists = [[1915.2322937926342, 2986.621770760078], [2563.0, -4320.21030101545]]
print([min(l) for l in lists])
# [1915.2322937926342, -4320.21030101545]

我建议使用
zip()
,因为这正是它的用例:

>a=[1,6]
>>>b=[4,2]
>>>[邮政编码(a、b)中tup的最小值(tup)]
[1, 2]
为了进一步解释为什么这是
zip
的完美用例:

>x=[4,8,8,7,3,1,9,6,9,4]
>>>y=[7,4,9,3,3,8,9,9,6,9]
>>>[*zip(x,y)]
[(4, 7), (8, 4), (8, 9), (7, 3), (3, 3), (1, 8), (9, 9), (6, 9), (9, 6), (4, 9)]
zip()
函数对传入的任意数量的ITerable中的每个元素进行配对:

z=[10,5,1,2,9,7,0,4,4,1] >>>[*zip(x,y,z)] [(4, 7, 10), (8, 4, 5), (8, 9, 1), (7, 3, 2), (3, 3, 9), (1, 8, 7), (9, 9, 0), (6, 9, 4), (9, 6, 4), (4, 9, 1)]
您尝试执行的操作背后的整个机制都内置于
zip()
函数中。

我建议使用
zip()
,因为这正是它的用例:

>a=[1,6]
>>>b=[4,2]
>>>[邮政编码(a、b)中tup的最小值(tup)]
[1, 2]
为了进一步解释为什么这是
zip
的完美用例:

>x=[4,8,8,7,3,1,9,6,9,4]
>>>y=[7,4,9,3,3,8,9,9,6,9]
>>>[*zip(x,y)]
[(4, 7), (8, 4), (8, 9), (7, 3), (3, 3), (1, 8), (9, 9), (6, 9), (9, 6), (4, 9)]
zip()
函数对传入的任意数量的ITerable中的每个元素进行配对:

z=[10,5,1,2,9,7,0,4,4,1] >>>[*zip(x,y,z)] [(4, 7, 10), (8, 4, 5), (8, 9, 1), (7, 3, 2), (3, 3, 9), (1, 8, 7), (9, 9, 0), (6, 9, 4), (9, 6, 4), (4, 9, 1)]
您尝试执行的操作背后的整个机制都内置于
zip()
函数中。

min函数一次只能传递一个iterable。您需要将列表中的每个项目配对在一起,然后获取最小值

a = [1, 3]
b = [2, -1000]

combined_mins = [min([x,y]) for x,y in zip(a,b)]

这将返回1和-1000

最小函数一次只能传递一个iterable。您需要将列表中的每个项目配对在一起,然后获取最小值

a = [1, 3]
b = [2, -1000]

combined_mins = [min([x,y]) for x,y in zip(a,b)]

这将返回1和-1000

您实际上并不是在按元素对列表元素
min(a,b)
在这种情况下,字面意思是说
a
b
的整个列表中哪一个是最低的,它通过分别比较每个列表中的每个元素来做到这一点。自1915.2322937926342<2563.0以来,Python不需要再向前看,就可以确定整个列表
a
比列表
b
小。(在平局中,例如:
[0,0,1]
[0,0,-1]
-一旦看到最后一个-1-它就可以确定-1小于1,从而可以得出哪个列表不等于另一个列表以及在哪个方向)。请注意,类似于
[0,0,0]
[0,0,0]
的内容将返回
False

您需要使用
zip
对列表中的项目进行显式配对,然后取其中的
min
,例如:

result = [min(els) for els in zip(a, b)]
这会给你:
[1915.2322937926342,-4320.2103010545]


请参阅:

您实际上并不是在按元素配对列表元素
min(a,b)
在这种情况下,字面意思是说
a
b
的整个列表中哪一个是最低的,它通过分别比较每个列表中的每个元素来做到这一点。自1915.2322937926342<2563.0以来,Python不需要再向前看,就可以确定整个列表
a
比列表
b
小。(在平局中,例如:
[0,0,1]
[0,0,-1]
-一旦看到最后一个-1-它就可以确定-1小于1,从而可以得出哪个列表不等于另一个列表以及在哪个方向)。请注意,类似于
[0,0,0]
[0,0,0]
的内容将返回
False

您需要使用
zip
对列表中的项目进行显式配对,然后取其中的
min
,例如:

result = [min(els) for els in zip(a, b)]
这会给你:
[1915.2322937926342,-4320.2103010545]


请参阅:

这不是OP想要的。快速计数器示例:让
x=[1,2]
y=[0,1]
。预期的输出是
[0,1]
,但这会返回
[1,0]
,因为您不是在按元素比较两个列表,而是简单地从每个列表中获取
min
。“我预期的输出是:
[1915.232297926342,-4320.2103010545]
lol仅仅因为它在一种情况下做了您想要的事情,并不意味着它在一般情况下成立,我的反例清楚地证明了这一点。OP想要元素最小值,但你的方法没有做到。这并不是OP想要的。快速计数器示例:让
x=[1,2]
y=[0,1]
。预期的输出是
[0,1]
,但这会返回
[1,0]
,因为您不是在按元素比较两个列表,而是简单地从每个列表中获取
min
。“我预期的输出是:
[1915.232297926342,-4320.2103010545]
lol仅仅因为它在一种情况下做了您想要的事情,并不意味着它在一般情况下成立,我的反例清楚地证明了这一点。OP想要元素最小值,但你的方法没有做到。这并不是OP想要的。快速计数器示例:让
x=[1,2]
y=[0,1]
。预期的输出是
[0,1]
,但这将返回
[1,0]
,因为您不是按元素比较两个列表,而是简单地从