摘要: 问题 怎样从一个集合中获得最大或者最小的 N 个元素列表? 解决方案 heapq 模块有两个函数:nlargest() 和 nsmallest()可以完美解决这个问题。 两个函数都能接受一个关键字参数,用于更复杂的数据结构中: 上面代码在对每个元素进行对比的时候,会以 price 的值进行比较。 讨 阅读全文
posted @ 2018-12-13 21:13 哒/哒/哒 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 问题 在迭代操作或者其他操作的时候,怎样只保留最后有限几个元素的历史记录? 解决方案 保留有限历史记录正是 collections.deque 大显身手的时候。比如,下面的代码在多行上面做简单的文本匹配, 并返回匹配所在行的最后N行: 讨论 我们在写查询元素的代码时,通常会使用包含 yield表达式 阅读全文
posted @ 2018-12-13 21:00 哒/哒/哒 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 问题 如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 ValueError 。 那么怎样才能从这个可迭代对象中解压出 N 个元素出来? 解决方案 Python 的星号表达式可以用来解决这个问题。比如,你在学习一门课程,在学期末的时候, 你想统计下家庭作业的平均成绩,但是排除掉第一个和最后一个 阅读全文
posted @ 2018-12-13 20:49 哒/哒/哒 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 问题 现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量? 解决方案 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。 唯一的前提就是变量的数量必须跟序列元素的数量是一样的。 代码示例: 如果变量个数和序列元素的个数不匹配,会产生一 阅读全文
posted @ 2018-12-13 20:38 哒/哒/哒 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1、简述解释型和编译型编程语言? 概念: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束! 区别: 编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal, 阅读全文
posted @ 2018-12-13 19:50 哒/哒/哒 阅读(77) 评论(0) 推荐(0) 编辑