簡體   English   中英

找到第二個索引的最小值,然后找到列表Python的第三個索引的最大值

[英]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. 然后從每個嵌套列表中找到第三個索引的最大值

  3. 從同時滿足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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM