1

我正在处理字典的错误处理。有没有一种巧妙的方法来检查这些键中的每一个是否都在我正在搜索的字典中,而不会跳过它们(通过将它们放入一个尝试块中)如果一个生成错误?

显然,我可以一次检查每个键,并且效果很好,但我正在寻找一种更好/更漂亮的方法来做到这一点。

代码:

try:
    categories = self.getList(dict[categories])
except KeyError:
    print "No categories found!"

try:
    interests = self.getList(dict[interests])
except KeyError:
    print "No interests found!"

try:
    shops_at = self.getList(dict[shops_at])
except KeyError:
    print "No shops_at found!"

try:
    eats_at = self.getList(dict[eats_at])
except KeyError:
    print "No eats_at found!"
4

1 回答 1

1

这是一种使用循环复制上述代码功能的方法。

params = {categories: "categories", interests: "interests",
        shops_at: "shops_at", eats_at: "eats_at"}

for k in params:
    try:
        value = self.getList(dict[k])
    except KeyError:
        print "No %s found!" % params[k]
于 2013-10-11T20:40:45.090 回答