使用较大整数的 Python 2.7 数组范围无法正常工作

标签 python arrays range

array = [2,3,2,4,7,9]  
for a in range(2,4):
    print a

2
3

这就是我想要的,只打印一个狭窄范围内的数字。但是我需要使用的数字要大得多。当我用更大的数字尝试同样的事情时,我得到了其他东西的打印。例如:

array = [22,57,205,276,476]

for a in range(200,210):
    print a

200 201 202 202 203 204 205 206 207 208 209

这不是我想要的。我预计只会得到 205。显然我使用更大的数字改变了我的程序的行为。我怎样才能得到 205?

谢谢,里科

最佳答案

您只是打印这些范围内的所有值,而不与数组元素进行比较。第一个起作用只是一个巧合,因为数组中同时包含 23

如果你想打印一定范围内的数组元素,那么你必须用循环来完成:

rng = range(200, 210)

for elem in array:
    if elem in rng:
        print elem

或者,通过列表理解:

[elem for elem in array if elem in rng]

您还可以避免创建新的范围列表。只需使用比较运算符检查边界:

[elem for elem in array if 200 <= elem < 210]

关于使用较大整数的 Python 2.7 数组范围无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19080515/

相关文章:

python - 如何将 Pandas 系列装箱,将每个箱子的箱子大小设置为最大/最小预设值

python - 以编程方式关闭 Paramiko 中的 SSH 隧道

arrays - 在Flutter中解析复杂的json时遇到问题

datetime - Elasticsearch如何在日期时间字段中按时间搜索

r - "binning"行进入范围 (dplyr/R)

python - 使用 Pandas 创建每小时/每分钟时间范围

python - 是否有最佳实践方法来实现以不同方式处理 Windows 和 Linux 环境的 Python 脚本?

java - 尝试将 2 个数组传递给方法并使用这 2 个数组中的值打印出一个表

arrays - 检查数组 VBA 的值

python - Pandas + HDF5面板数据存储可存储大数据