网站首页 > 技术文章 正文
这次,我们先来看看处理查找最大的数字问题上,普通人思维和工程师思维有什么不一样。
例如:
lst = [3, 6, 10,5,7, 9, 12]
在lst列表中寻找最大的数字,你可能一眼能看出来,最大值为12。但是要你在几亿个数字中寻找最大的数字,你会怎么办?
刚才你对lst中7个数字,可以轻而易举地找到最大的数字12。你几乎没有去想,你只是看了一眼,就给出了答案,这就是普通人的思维。
当lst列表里的数据多达几亿个,你可以想象一下,几亿个数据,整个屏幕都装不下了,那么请你从这几亿个数据中找出最大的数值,你应该怎么办?
很显然,你不能再像之前那样一眼就看出答案,那种几乎无需思考的方法只能解决小数据量的问题,当问题的规模扩大到一定程度后,必须使用新的方法,这个方法就是迭代遍历。
准备一张纸,一支笔,一个橡皮擦,在纸上记录这几亿个数中的第一个,从现在开始,假设这个数就是最大的,接下来,将这1亿个数逐个与纸上的数值进行比较,如果比纸上记录的数值大,则修改纸上的数值,这个方法看起来比较笨,但却十分有效,它不会遗漏任何数值,当1亿个数都比较一遍后,这张纸上的数值就是这1亿个数中的最大值,这就是遍历。
相信你经过一段时间的思考,你能想出类似的方法来(如果会算法,你会更快的找到答案),下面使用for循环来遍历列表,找出最大值。
下面使用while循环来遍历列表,找出最大值。
不论是for循环,还是while循环,其背后的思维模式都是迭代遍历,重复着去做一件简单的事情,我们不必担心速度,遍历1亿个整数对计算机来说不过是弹指一挥间的事情。
#Python核心技术#
猜你喜欢
- 2025-01-15 Python流程控制
- 2025-01-15 一文搞懂Python迭代器和生成器
- 2025-01-15 Python生成器详解 | 投稿
- 2025-01-15 Python逆序输出的3种方法,你了解嘛
- 2025-01-15 从原理到实战,一份详实的 Scrapy 爬虫教程
- 2025-01-15 有效提升Python代码性能的三个层面
- 2025-01-15 玩转Python—循环语句使用教程
- 2025-01-15 使用 Python 的sorted()函数对复杂可迭代对象进行排序
- 2025-01-15 人人都能看懂的「迭代器、生成器」入门指南
- 2025-01-15 全网最详细的Python自动化测试+邮件推送+企业微信推送+Jenkins
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)