用range进行python循环需要注意的问题
2011-03-22 星期二 晴朗
今天将数据迁移脚步初步写好,输入是要迁移的记录id范围,比如[minId, maxId]。主函数体大概如下:
# migrate the table range from [minId, maxId], with data patch
def migrate(tableName, minId, maxId):
for id in range(minId, maxId):
migrate_one(id)
# now [minId, maxId] have been migrate, we should deal with the retry queue
print "now begin to process the retry queue!"
while retry_queue:
id = retry_queue.pop()
migrate_one(id)
一开始测试用小范围数据进行测试,没有问题。想测试一下性能,将范围设置为2亿,结果发现内存立刻飙升到100%,过了一会shell打印了一个killed process出来。纳闷了,因为我是很小心的使用内存的,包括数据库连接,自己搞了个连接池控制,一条记录一条记录的读取的,cursor也有注意关闭。没理由内存溢出啊。将代码认真检查了一下,发现了这一行代码有最大的嫌疑:
for id in range(minId, maxId):
查看了一下API,发现是range(..)是生成一个List对象,当这个范围很大的时候,比如我们上面的例子2亿,4G的内存必然溢出。
写的时候都是边查文档边写的,一知半解是很可怕的,在使用一个API或者语法的时候,还是要先仔细学习一下的。
分享到:
相关推荐
### Python 循环知识点解析 #### 5.2 节 while 循环 ##### 题目 5.1 **题目描述:** ```python count = 0 while count print("Welcome to Python") count += 1 ``` **问题:** 以上代码会打印“Welcome to ...
当需要在某个循环内部再执行另一层循环时,就会用到循环的嵌套。在Python中,for循环的嵌套是完全允许的,可以将一个for循环放在另一个for循环内部,形成多层循环结构,以此实现更复杂的逻辑。 嵌套for循环的基本...
在处理这些问题时,要注意合理使用`range()`函数以及if条件语句,以满足题目要求。 总的来说,Python的for循环语句是编程中不可或缺的一部分,它使得我们能够有效地处理序列数据和迭代操作,从而实现各种复杂的逻辑...
文件中出现了`for i in range(1,101):`的代码片段,这展示了Python中最常见的for循环使用方法。`range(1,101)`是一个产生从1到100的整数序列的函数。在这个例子中,`for`循环会依次取出这个序列中的每一个数字赋给...
在今天的分享中,我们将探讨如何使用Python来绘制循环圆。循环圆是指一系列同心圆,每个圆的半径按一定的规律递增或递减。在我们的例子中,我们将使用Python的turtle库来绘制一系列递减半径的圆形。首先,我们需要...
在Python中,`for`循环通常与`range()`函数一起使用,特别是在处理数字序列时。`range()`函数生成一个数字序列,可以根据需要指定起始值(默认为0)、结束值(不包含在内)和步长(默认为1)。其基本语法如下: ```...
For … in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目 注意: 1、else 部分是可选的。当循环中包含它时,它循环中包含它时,它总会在 for 循环结束后开始...
通过实践这些题目,你可以深入理解如何运用Python的循环语句解决实际问题,如何有效地控制循环流程,以及何时使用不同的循环结构。每个题目都会涉及上述知识点的一个或多个方面,逐步提升你的编程技能。记得分析源...
"python基础03_python循环" Python基础知识点第三课:Python循环 Python中的循环可以分为两种:while循环和for循环。它们的相同点是都可以循环执行一件事情,但是它们的不同点在于for循环会在可迭代的序列被穷尽...
在实际应用中,会遇到保存多个文件或者图像的操作,利用for循环可以实现基本要求: for i in range(50): plt.savefig(%d.jpg%(i+1)) ... 您可能感兴趣的文章:python使用循环实现批量创建文件夹示例Python fo
在Python编程中,有时我们需要在循环中批量生成变量,例如创建一系列按某种规律变化的变量。在提供的内容中,展示了两种方法来实现这个目标:使用`locals()`函数和使用`exec()`函数。这两种方法虽然都能达到目的,但...
现在,我们可以像使用 Python 的 `range()` 一样使用这个 JavaScript 函数。例如: ```javascript console.log(range(1, 6)); // 输出: [1, 2, 3, 4, 5] console.log(range(1, 6, 2)); // 输出: [1, 3, 5] ``` 这...
在Python编程中,有时我们需要处理大量数据,例如从Excel文件中读取数据并将其转换成其他格式,如JSON。在给定的示例中,它演示了如何使用Python3读取多个Excel文件并将数据写入一个JSON文件。下面将详细解释这个...
在 Python 中,for 循环可以与 else 语句结合使用。例如: for num in range(10,20): for i in range(2,num): if num%i == 0: j=num/i print('%d 等于 %d * %d' % (num,i,j)) break else: print('%d是一个...
Python中的`range()`函数是编程语言中的一个基础且重要的工具,尤其在循环控制和序列生成方面发挥着关键作用。这篇文章将深入探讨`range()`的用法、参数、返回值以及在实际编程中的应用。 `range()`函数的基本语法...
在使用循环时,有几个重要的注意事项需要关注。 首先,我们来看循环变量。在Python的for循环中,循环变量通常用于追踪循环的迭代次数。例如,在`for i in range(5):`这样的循环中,`i`就是循环变量。它会自动按照...
### Python基础知识之...以上内容展示了如何使用Python中的两种循环结构——`for`循环和`while`循环,并结合了`range()`函数的使用方法。这两种循环结构在实际编程中应用广泛,掌握它们对于学习和使用Python至关重要。
整体而言,文档"Python实验5循环结构(2).pdf"为读者提供了Python循环结构的基础知识,并通过一系列示例代码加强了理解。这些示例涵盖了一些常见的编程问题,如输入验证、特定数学数的查找以及数据处理等。通过掌握...
在本资源中,我们将详细介绍 Python 的循环语句,包括 while 循环和 for 循环,以及循环控制语句的使用。 循环语句是编程语言中的一种基本结构,它允许开发者执行一个语句或语句组多次。Python 提供了两种类型的...
Python 循环指令是编程语言的核心概念,它们用于在满足特定条件时重复执行代码块,这对于处理数据迭代、遍历序列或实现复杂逻辑至关重要。在Python中,主要包含两种循环结构:for循环和while循环。 1. **for循环**...