如何使用while与if循环从列表中筛选指定数值区间内的元素
筛选列表符合区间元素的实现思路
- 先初始化3个核心变量:
- 待筛选的原数值列表,可自定义赋值
- 空列表
result,用于存储满足条件的元素 - 索引计数变量
index = 0,用于标记当前遍历到原列表的位置
- 编写while循环逻辑,循环触发条件为
index < 原列表长度,只要索引没超出列表总长度就持续执行循环 - 循环内首先取出当前索引对应的元素:
current_num = 原列表[index] - 加入if条件判断,判断规则为
current_num >= 3 and current_num <=4,如果判断为真,就将current_num追加到result列表中 - 每次循环末尾必须执行
index += 1,否则会出现索引不动的死循环问题
可直接运行的Python示例代码
# 自定义待筛选的数值列表 num_list = [1, 2, 3, 3.2, 3.9, 4, 4.1, 5, 2.8] result = [] index = 0 # while循环遍历 while index < len(num_list): current_num = num_list[index] # if判断是否满足区间要求 if 3 <= current_num <= 4: # 也可以写成current_num >=3 and current_num <=4 result.append(current_num) index += 1 print(result) # 输出结果:[3, 3.2, 3.9, 4]
注意事项
- 数值类型同时支持整数和浮点数判断,不需要额外做类型转换
- 索引自增操作必须放在while循环内部,不能放到if判断的分支里,否则会出现不满足if条件时索引不更新的死循环问题
内容的提问来源于stack exchange,提问作者Bill
相关产品推荐
相关产品推荐

