python中outside loop_python-无法在while循环中从列表中排除一定范...

所以我发布了一个问题before,但是它过于简化了,正确地被标记为重复.我现在将更详细地发布我的问题,以便希望可以解决我的问题.简而言之如下:

我有两个列表:a = [10.0,20.0,25.0,40.0]和b = [1.0,10.0,15.0,20.0,30.0,100.0]

使用列表推导,我想从b中排除a中指定的元素范围.也就是说:从b中删除10.0和20.0之间以及25.0和40.0之间的所有元素.这是我尝试过的:

kk = 0

while kk < len(a):

up_lim = a[kk] #upper limit

dwn_lim = a[kk+1] #lower limit

x = [b[y] for y in range(len(b)) if (b[y]up_lim)] #This line produces correct result if done outside of a while loop. Somehow fails in while loop.

b = list(x) #update the old list with the new&reduced list

kk += 2 #update counter

我期望结果x = [1.0,100.0],但我得到x = [1.0,10.0,15.0,20.0,30.0,100.0]

实际上,如果我在while循环之外进行操作,则具有列表理解的关键行会起作用(当然,这是没有用的,因为列表’a’的大小可能是任意的,这就是我使用while循环的原因).

所以问题是:while循环如何以及为什么阻止列表理解正确发生?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值