簡體   English   中英

Python:訪問元組內部的字典值並按字典值快速排序

[英]Python: Access dictionary value inside of tuple and sort quickly by dict value

我知道還不清楚。 這是我特別在做的。 我的字典清單在這里:

dict = [{int = 0,value = A},{int = 1,value = B},... n]

並且我想將它們組合使用,所以我使用了itertools,它給了我一個元組(好吧,它給了我一個內存對象,然后我使用了枚舉,這樣我就可以循環遍歷並枚舉給定一個元組):

對於枚舉(combinations(dict,2))中的(index,tuple):

這就是我的問題所在。 我想確定組合中的兩個項目中哪個具有較大的'int'值,哪個具有較小的值,並將它們分配給變量(我實際上在組合中使用了2個以上,所以我不能只說是否tuple [0] ['int']> tuple [1] ['int']並進行分配,因為我不得不將其列出很多次,這很難管理)。

我將為每個“ int”值分配一個變量,將其在列表中排序,將列表中的“ int”值按1、2、3、4、5 ...進行索引,然后返回並訪問我想要通過int值創建的字典,然后將字典分配給一個變量,這樣我就知道哪個更大。 但是我有一個很大的列表,列表和變量分配占用大量資源,這需要很長時間(我只寫了一點點,並且要花很多時間才能運行)。

所以我希望有人知道一種快速的方法。 實際上,我可以使用if / thens列出分配網絡的所有可能組合,但這就像5頁的if / thens和分配一樣,當我要更改它時很難閱讀和管理。

您可能已經收集了這些,但是我是編程新手。

for (index, tuple) in enumerate(combinations(dict, 2)):
    thesmall = min(tuple, key=lambda d: d['int'])
    thelarge = max(tuple, key=lambda d: d['int'])

如果您不僅僅需要最小和最大,那么

    inorder = sorted(tuple, key=lambda d: d['int'])

並按要求將所有命令按順序排列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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