python有关列表删除
lista=[0.8,0.1,0.5,0.4,0.6,0.5,0.3,0.6]
如果列表中的某两个数加起来小于等于1,那么就删除这两个数,这个程序应该怎么写
[解决办法]
lista.sort()
dst_ind = len(lista)
for ind, value in enumerate(lista):
if value + lista[0] > 1:
dst_ind = ind
break
lista = lista[dst_ind:]
浮点数的运算通常都不准确,与1的比较最好可以给一个精度。
[解决办法]
#lista=[0.8,0.1,0.5,0.4,0.6,0.5,0.3,0.6]
#如果列表中的某两个数加起来小于等于1,那么就删除这两个数,这个程序应该怎么写
def fun1(lista):
lista.sort()
lis=[]
for it in zip(lista,lista[2:]):
if sum(it)>1:
lis.extend(list(it))
print('the content of lis is: ')
print(lis)
for ind,val in enumerate(lista):
if val not in set(lis):
lista.pop(ind)
print('-'*5,'The Result','-'*5)
print(lista)
if __name__ == '__main__':
print('-'*5,'The Start','-'*5)
lista=[0.8,0.1,0.5,0.4,0.6,0.5,0.3,0.6]
fun1(lista)