首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python相关列表删除

2013-04-21 
python有关列表删除lista[0.8,0.1,0.5,0.4,0.6,0.5,0.3,0.6]如果列表中的某两个数加起来小于等于1,那么就

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)

热点排行