第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

比較 python 字典中的列表值

比較 python 字典中的列表值

拉丁的傳說 2022-08-02 17:04:34
我認為這是非常基本的,但我很難找到解決這個問題的方法。在下面的python字典中(其中值是列表),我如何方便地比較每個鍵值對的值?例如,如何檢索鍵值對,其中:值的元素在其他鍵值對的值中不重復,如果值的第一個元素存在于其他值中,請選擇該值的第二個元素較大的對。換句話說,我需要得到"a": ["bc", "5", "0"]" b": ["nc", "8", "5"]test_dict = {"a": ["bc", "5", "0"], "b": ["nc", "8", "5"], "c": ["bc", "3", "0"]}任何提示都是值得贊賞的。
查看完整描述

3 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

我將使用由值的第一個元素索引的輔助映射:


aux = {}

for k, v in test_dict.items():

    if v[0] in aux:

        if v[1] > aux[v[0]][1][1]:

            aux[v[0]] = (k, v)

    else: aux[v[0]] = (k, v)

resul = {k: v for k,v in aux.values()}


查看完整回答
反對 回復 2022-08-02
?
森欄

TA貢獻1810條經驗 獲得超5個贊

把它做成一行。它也尋找用于比較的第三個元素(而不僅僅是第二個元素)。

它會創(chuàng)建一個字典兩次。首先將第一個元素作為鍵,然后使用其值生成結果。

dict({v[0]:(k,v) for v,k in sorted((v,k) for k,v in test_dict.items())}.values())


查看完整回答
反對 回復 2022-08-02
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

我會使用理解,解開所有元素以保持清潔。嘗試


In [1]: out = {k:(v1, v2, v3) for k, (v1, v2, v3) in test_dict.items() if k not in v1 and int(v2) > int(v3)}


In [2]: out

Out[2]: {'a': ('bc', '5', '0'), 'b': ('nc', '8', '5')}


查看完整回答
反對 回復 2022-08-02
  • 3 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號