程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python核心技术——循环和迭代(上)

hfteth 2025-01-15 13:36:44 技术文章 18 ℃

这次,我们先来看看处理查找最大的数字问题上,普通人思维和工程师思维有什么不一样。

例如:

lst = [3, 6, 10,5,7, 9, 12]

在lst列表中寻找最大的数字,你可能一眼能看出来,最大值为12。但是要你在几亿个数字中寻找最大的数字,你会怎么办?

刚才你对lst中7个数字,可以轻而易举地找到最大的数字12。你几乎没有去想,你只是看了一眼,就给出了答案,这就是普通人的思维。

当lst列表里的数据多达几亿个,你可以想象一下,几亿个数据,整个屏幕都装不下了,那么请你从这几亿个数据中找出最大的数值,你应该怎么办?

很显然,你不能再像之前那样一眼就看出答案,那种几乎无需思考的方法只能解决小数据量的问题,当问题的规模扩大到一定程度后,必须使用新的方法,这个方法就是迭代遍历。

准备一张纸,一支笔,一个橡皮擦,在纸上记录这几亿个数中的第一个,从现在开始,假设这个数就是最大的,接下来,将这1亿个数逐个与纸上的数值进行比较,如果比纸上记录的数值大,则修改纸上的数值,这个方法看起来比较笨,但却十分有效,它不会遗漏任何数值,当1亿个数都比较一遍后,这张纸上的数值就是这1亿个数中的最大值,这就是遍历。

相信你经过一段时间的思考,你能想出类似的方法来(如果会算法,你会更快的找到答案),下面使用for循环来遍历列表,找出最大值。

下面使用while循环来遍历列表,找出最大值。

不论是for循环,还是while循环,其背后的思维模式都是迭代遍历,重复着去做一件简单的事情,我们不必担心速度,遍历1亿个整数对计算机来说不过是弹指一挥间的事情。

#Python核心技术#

Tags:

最近发表
标签列表