假设我想按正面,负面和浮点数组织一个数字列表。我如何获得此代码将数字添加到多个列表,如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
答案 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)]