检查多个if语句

时间:2015-01-31 22:54:52

标签: python-2.7 if-statement conditional-statements

假设我想按正面,负面和浮点数组织一个数字列表。我如何获得此代码将数字添加到多个列表,如pos和flt?例如5.6。而不只是将它添加到pos并继续前进到下一个而不检查5.6是否也是浮点数?

list_num=[1,-1,-3,5.6,9.0]
neg=[]
pos=[]
flt=[]
for n in list_num:
    if n<0:
        neg.append(n)
    if n>=0:
        pos.append(n)
    if str(n).isdigit()==False and n>0:
        flt.append(n)

print neg
print pos
print flt

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您需要单独创建每个列表。如果是这样,列表推导可以帮助您一次创建每个列表,而无需检查其他条件。

neg = [i for i in list_num if i < 0]
pos = [i for i in list_num if i > 0]
flt = [i for i in list_num if isinstance(i, float)]