作者Pear888 (皮爾掰)
看板Python
標題[問題] loop through multiple dicts
時間Tue Nov 20 23:47:09 2018
不好意思
小弟想請問一下
我有多個dicts
每個dicts中可能有重複的內容
原本的程式碼是:
for item in [*response1['key'], *response2['key']]:
之前在網路上找到的
這樣好像就可以列出每個response['key']中的每個內容
且不重複列出
第一個問題是這個*的意思是?
第二個問題是若其中一個response['key']中沒有這個key
該如何例外處理
不然就會出現keyerror就corrupt了
或是有其他更好的方法
求高手解答
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.29.53
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1542728832.A.A82.html
1F:推 znmkhxrw: 你的"內容"是什麼阿 應該是lst或是tuple?? 11/21 01:50
2F:→ znmkhxrw: "*"其中一個常見的用法是把lst或是tuple解壓縮 11/21 01:50
3F:→ znmkhxrw: 例如: [*(1,2)] = [*[1,2]] = [1,2], 就是*(1,2) = 1,2 11/21 01:50
4F:→ znmkhxrw: 的概念 11/21 01:51
5F:推 znmkhxrw: 第二個問題 你的key只有一個"key"嗎?? 還是 for key in 11/21 01:53
6F:→ znmkhxrw: blabla response[key] 的概念?? 11/21 01:53
7F:→ znmkhxrw: blabla: for item in response[key] 的概念?? 11/21 01:54
8F:推 germun: 轉set才能處理重覆吧, 你的例子還是list 11/21 14:23
9F:→ germun: 1就是樓上說的 拆包list或tuple用的, 就如**之於dict 11/21 14:24
10F:→ germun: 2可以用dict.get(key, ()), 給個空tuple避免None拆解出錯 11/21 14:26