我有两个列表,如:
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)