作者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/cn.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