Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在Python中检查嵌套字典中的值?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>假设我们有一个字典列表listD,其中每个字典都与更多的字典嵌套在一起。e、 g.假设listD的第一个元素是:</p> <pre><code>listD[0] = {"bar1":{"bar2":{"bar3":1234}}} </code></pre> <p>现在我想检查listD[I][“bar1”][“bar2”][“bar3”]==1234,对于I=0的第一个元素,这很简单,因为我们可以使用表达式:</p> ^{pr2}$ <p>但我不能简单地写一个循环:</p> <pre><code>for dictelem in listD: if dictelem["bar1"]["bar2"]["bar3"] == 1234: print "equals 1234" </code></pre> <p>这是因为listD的一些dictionary元素的形式可能是</p> <pre><code>listD[i] = {"bar1":{"bar2":"abcd"}} or listD[i] = {"bar1":{"bar2":None}} </code></pre> <p>如果我试图在“bar3”不存在的时候访问它,就会产生一个错误。在</p> <p>现在我在代码中手动指定以检查是否存在bar1、bar2和bar3键,以及这些键是否是字典。但这真的很冗长,我很确定有更简单的方法来做,但我不知道怎么做。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>只需按如下方式使用<code>try/except</code>块:</p> <pre class="lang-py prettyprint-override"><code>for dictelem in listD: try: if dictelem["bar1"]["bar2"]["bar3"] == 1234: print "equals 1234" except TypeError: pass </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
2 回答
如何在乒乓球游戏中阻止球
6 回答
如何在乘法和模中不乘空间?
1 回答
如何在乘法和除以2个不同的数字之间进行交换?
4 回答
如何在也是数据一部分的单个字符上拆分大字符串
2 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
3 回答
如何在事件wxWidgets中传递自定义数据
5 回答
如何在事件中使用lambda i=i?
1 回答
如何在事件中心只接收最近的数据
5 回答
如何在事件发生之前保持云函数运行?
10 回答
如何在事件发生后使页面重定向到同一页面
2 回答
如何在事件回调之间保持python生成器的状态
6 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
7 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
10 回答
如何在事件处理程序中访问外部对象?
1 回答
如何在事件循环中将协程打包为正常函数?
2 回答
如何在事件循环之外运行协同程序?
6 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
9 回答
如何在事件文件中只保留一份摘要?
1 回答
如何在事件模板中添加事件
3 回答