【发布时间】:2021-01-22 17:39:03
【问题描述】:
** 这是一个风格问题,而不是“编码问题”**
例如,在 Perl 中,测试复杂数据结构中元素或键的存在是很直观的。如果我像这样反序列化一大块 json:
[ { 'foo' : 'bar' } ]
我会这样做:
if ($array[0]{foo}) {
print "foo exists\n";
}
if ($array[0]{bar}) {
print "bar exists\n";
}
有了这个结果:
$ perl tmp.pl
foo exists
$
如何在 Python 中轻松优雅地做到这一点?
【问题讨论】:
-
我们在谈论什么确切的数据结构?
-
你的意思是
if any('foo' in obj for obj in [{'foo': 'bar'}])? -
你应该在 perl 中使用
exists $array->[0]{foo}...(这不是有效的 JSON,它使用双引号作为字符串)。 -
它是什么数据结构无关紧要,我问的是原则。
-
@Shawn,视情况而定。大多数时候,您知道该值是 true 还是不存在,在这种情况下您不需要
exists。
标签: python list perl dictionary