use*_*144 27 python graphics list
alist = [(1,3),(2,5),(2,4),(7,5)]
Run Code Online (Sandbox Code Playgroud)
我需要获取元组中每个位置的最小值.
福克斯的例子:alist的预期输出是
min_x = 1
max_x = 7
min_y = 3
max_y = 5
Run Code Online (Sandbox Code Playgroud)
有什么简单的方法吗?
cob*_*bal 61
map(max, zip(*alist))
Run Code Online (Sandbox Code Playgroud)
首先解压缩您的列表,然后找到每个元组位置的最大值
>>> alist = [(1,3),(2,5),(2,4),(7,5)]
>>> zip(*alist)
[(1, 2, 2, 7), (3, 5, 4, 5)]
>>> map(max, zip(*alist))
[7, 5]
>>> map(min, zip(*alist))
[1, 3]
Run Code Online (Sandbox Code Playgroud)
这也适用于列表中任何长度的元组.
>>> from operator import itemgetter
>>> alist = [(1,3),(2,5),(2,4),(7,5)]
>>> min(alist)[0], max(alist)[0]
(1, 7)
>>> min(alist, key=itemgetter(1))[1], max(alist, key=itemgetter(1))[1]
(3, 5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45020 次 |
| 最近记录: |