Warm tip: This article is reproduced from serverfault.com, please click

types-如何根据数据类型在python中设置条件?

(types - How do you set a conditional in python based on datatypes?)

发布于 2013-01-01 18:45:00

这个问题似乎让人难以置信,但我无法弄清楚。我知道你可以在python中检查数据类型,但是如何根据数据类型设置条件呢?例如,如果我必须编写对字典/列表进行排序并将所有整数加起来的代码,那么如何隔离搜索以仅查找整数?

我想一个简单的例子看起来像这样:

y = []
for x in somelist:
    if type(x) == <type 'int'>:  ### <--- psuedo-code line
    y.append(x)
print sum(int(z) for z in y)

那么对于第3行,我将如何设置这样的条件?

Questioner
01110100
Viewed
0
Jakob Bowyer 2013-01-02 02:46:08

怎么样,

if isinstance(x, int):

但更干净的方法就是

sum(z for z in y if isinstance(z, int))