python - 列表中的特定范围(python)
问题描述
我有一个从文本字符串中提取的整数列表,所以当我打印列表(我称之为test
)时,我得到:
['135', '2256', '1984', '3985', '1991', '1023', '1999']
我想打印或制作一个仅包含特定范围内数字的新列表,例如 1000-2000 之间。我尝试了以下操作,但它仍然返回我原始列表中的所有项目。
for i in test:
if i>1000:
print i
elif i<2000:
print i
而且我无法弄清楚为什么它仍然会打印低于 1000 或高于 2000 的数字。
解决方案
首先将您的字符串列表转换为整数列表:
ints_list = [int(x) for x in test]
然后,您可以根据需要过滤此列表。我们可以使用上面一行的列表推导来做到这一点。请注意,and
这使得数字必须满足两个条件才能在列表中。
filtered_list = [x for x in ints_list if x > 1000 and x < 2000]
推荐阅读
- android - 设备连接到移动数据时如何获取 IPv4
- python-2.7 - Python:是否可以通过可见结果比较 unicode 字符串
- git - 如果完成了任何提交,是否可以避免“git push”分支到 REMOTES - ORIGIN?
- php - 如何使用 PHP 将数组 xml 数据放入表中?
- python - Keras 中用于图像分类的 CNN 类型是什么?
- optaplanner - 将事件分配给技术人员
- numpy - 具有增强类别的语义搜索引擎
- php - 如何检查 woocommerce 订单是否包含两个特定类别的订单状态更新
- javascript - 提交时只调用一次函数
- python - 检查用户输入的良好实践