Python找到两个列表的最小值和最大值

Dar*_*ech 13 python list

我有两个列表,如:

l_one = [2,5,7,9,3]
l_two = [4,6,9,11,4]
Run Code Online (Sandbox Code Playgroud)

...我需要找到两个列表中的最小值和最大值.也就是说,我想生成一个最小值和一个最大值.

我的问题是 - 实现这一目标的最pythonic方式是什么?

任何帮助非常感谢.

Sve*_*ach 33

可以说最可读的方式是

max(l_one + l_two)
Run Code Online (Sandbox Code Playgroud)

要么

min(l_one + l_two)
Run Code Online (Sandbox Code Playgroud)

但是,它会复制列表,因为它会l_one + l_two创建一个新列表.为了避免复制,你可以这样做

max(max(l_one), max(l_two))
min(min(l_one), min(l_two))
Run Code Online (Sandbox Code Playgroud)


Joh*_*ooy 14

另一种避免复制列表的方法

>>> l_one = [2,5,7,9,3]
>>> l_two = [4,6,9,11,4]
>>> 
>>> from itertools import chain
>>> max(chain(l_one, l_two))
11
>>> min(chain(l_one, l_two))
2
Run Code Online (Sandbox Code Playgroud)