2015-01-31 177 views
0

假設我想按正數,負數和浮點數組織一個數字列表。我怎麼會得到這個代碼添加一個數字到多個列表,如pos和flt?例如5.6。而不是僅僅將它添加到pos中,而是移動到下一個,並檢查5.6是否爲浮點數?檢查多個if語句

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

如果我理解正確,你想分別創建每個列表。如果是這樣,列表解析可以幫助您一次創建每個列表,而無需檢查其他條件。

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)]