[英]find the min of the second index, then find the max of the third index of a list Python
我有一個這樣的嵌套列表:
a = [[1, 3, 3],
[7, 2, 6],
[4, 2, 8]]
我想對它進行轉置並找到第二個索引的最小值,然后是第三個索引的最大值,這樣我得到的結果列表為[4,2,8]。
我有以下內容: min(a, key=lambda x: x[1])
這可以幫助我找到第二個索引的最小值,即2
但是Python會選擇[7, 2, 6]
。 我希望Python有條件地尋找第三個索引的最大值,然后返回列表。
邏輯:
從每個嵌套列表中找到第二個索引的最小值
然后從每個嵌套列表中找到第三個索引的最大值
從同時滿足1,2的a
返回實際的嵌套列表
這是一種解決方法,但是代碼如下:
min(a, key=lambda x: (x[1], -x[2]))
它會找到由第二個索引和第三個索引的取反值組成的最小元組(ergo:第三個索引的最大值),並根據需要返回結果:
>>> min(a, key=lambda x: (x[1], -x[2]))
`[4, 2, 8]`
您可以這樣做:
a = [[1, 3, 3],
[7, 2, 6],
[4, 2, 8]]
min_no=min([i[1] for i in a])
max_no=max([i[2] for i in a])
for item in a:
if min_no and max_no in item:
print(item)
輸出:
[4, 2, 8]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.