日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 问题自动匹配解决方案_匹配字典集。最优雅的解决方案。Python

發布時間:2024/2/28 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 问题自动匹配解决方案_匹配字典集。最优雅的解决方案。Python 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

給出了兩份字典清單,新的和舊的。詞典在兩個列表中表示相同的對象。

我需要找出差異并生成新的詞典列表,其中只有新詞典中的對象和舊詞典中的更新屬性。

示例:list_new=[

{ 'id':1,

'name':'bob',

'desc': 'cool gay'

},

{ 'id':2,

'name':'Bill',

'desc': 'bad gay'

},

{ 'id':3,

'name':'Vasya',

'desc': None

},

]

list_old=[

{ 'id':1,

'name':'boby',

'desc': 'cool gay',

'some_data' : '12345'

},

{ 'id':2,

'name':'Bill',

'desc': 'cool gay',

'some_data' : '12345'

},

{ 'id':3,

'name':'vasya',

'desc': 'the man',

'some_data' : '12345'

},

{ 'id':4,

'name':'Elvis',

'desc': 'singer',

'some_data' : '12345'

},

]

所以。。在那個例子中,我想產生一個新的列表,其中將只有來自列表的新同志新的更新數據。由id匹配。所以鮑勃會變成博比,比爾會變成科爾·蓋伊,瓦西亞會變成——那個男人。最后貓王必須缺席。

給我一個優雅的解決方案。更少的迭代循環。

有辦法,我會解決的。哪一個不是最好的:def match_dict(new_list, old_list)

ids_new=[]

for item in new_list:

ids_new.append(item['id'])

result=[]

for item_old in old_medias:

if item_old['id'] in ids_new:

for item_new in new_list:

if item_new['id']=item_old['id']

item_new['some_data']=item_old['some_data']

result.append(item_new)

return result

我之所以懷疑,是因為循環中有循環。如果有2000個項目的清單,這個過程將需要同樣的時間。

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的python 问题自动匹配解决方案_匹配字典集。最优雅的解决方案。Python的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。