我要对所有列表对象执行数学运算:
swl = ['0', '0', '0', '', '', '', '1', '1', '1', '1', '1', '0.25']
数学运算:sgu = 1 - swl
,我想把sgu格式化为:
sgu_compact = ['3*1', '3*', '5*0', '0.75']
这就是我所拥有的:
sgu = []
for ii in range(0, int(len(swl))):
if len(swl[ii]) == 0:
sgu.append(swl[ii])
else:
sgu.append(1-float(swl[ii]))
sguflt = [float(x) for x in swl]
sgu2 = ['{:g}'.format(float('{:.6g}'.format(i))) for i in sgu]
sgu_compact = ['%s*' % len(l) * (len(l) > 1) + k for k, g in groupby(sgu2)
for l in (list(g),)]
print sgu_compact
但是我得到ValueError
是因为空列表对象。有人能帮我吗?你知道吗
这可能是优化更多,但它似乎做什么你说你想要的。基本上,它只是检查并传递每个步骤中遇到的任何空字符串值。你知道吗
只需过滤掉空值:
相关问题 更多 >
编程相关推荐