Python中文
首页
教程
问答
标签
搜索
登录
注册
Python:组合“if'x”(在dict中)和“for i in dict['x']”
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>实际上有两个问题:如果我有一个字典(最初来自解析json消息)中有一个可选数组:</p> <pre><code>dict_with = {'name':'bob','city':'san francisco','kids': {'name': 'alice'} } dict_without = {'name':'bob','city':'san francisco' } </code></pre> <p>我通常会有这样的代码:</p> ^{pr2}$ <p>我的第一个问题是,有没有python方法来组合if保护和for循环?在</p> <p>第二个问题是我的直觉告诉我,对于原始json消息,最好的设计是始终指定kids元素,只需使用一个空字典:</p> <pre><code>dict_better = {'name':'bob','city':'san francisco','kids': {} } </code></pre> <p>我找不到任何能证明这一点的设计方法。json消息是来自支持json和xml表示的web服务的状态消息。因为他们是从xml开始的,所以“kids”元素是可选的,这迫使上面的构造在遍历数组之前检查元素是否存在。我想知道是否最好的设计明智地说元素是必需的(如果没有元素,就用空数组)。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<pre><code>for x in d.get("kids", ()): print "kid:", x </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Django:。是不是“超级用户”字段不起作用
7 回答
Django:'DeleteQuery'对象没有属性'add'
8 回答
Django:'ModelForm'对象没有属性
5 回答
Django:'python manage.py runserver'返回'TypeError:'WindowsPath'类型的对象没有len()
5 回答
Django:'Python管理.pysyncdb'不创建我的架构表
3 回答
Django:'Python管理.py迁移“耗时数小时(和其他奇怪的行为)
8 回答
Django:'readonly'属性在我的ModelForm上不起作用
5 回答
Django:'RegisterEmployeeView'对象没有属性'object'
8 回答
Django:'str'对象没有属性'get'
9 回答
Django:'创建' 不能被指定为Order模型表单中的值,因为它是一个不可编辑的字段
5 回答
Django:“'QuerySet'类型的对象不是JSON可序列化的”
3 回答
Django:“'utf8'编解码器无法解码位置19983中的字节0xe9:无效的连续字节”,加载临时文件时
3 回答
Django:“<…>”需要有一个字段“id”的值,然后才能使用这个manytomy关系
2 回答
Django:“AnonymousUser”对象没有“get_full_name”属性
1 回答
Django:“ascii”编解码器无法解码位置1035中的字节0xc3:序号不在范围内(128)
10 回答
Django:“BaseTable”对象不支持索引
1 回答
Django:“collections.OrderedDict”对象不可调用
1 回答
Django:“Country”对象没有属性“all”
8 回答
Django:“Data”对象没有属性“save”
4 回答
Django:“datetime”类型的对象不是JSON serializab
2 回答