Python世界:高频小技巧总结 iPython清屏指令?类型转换技巧总结?万能的排序函数汇总?如何1条指令快速生成二维数组?如何高效遍历数组及索引?高频高效的小函数有哪些?列表生成有哪些简洁写法?如何通过Python脚本打开运行exe,并传参?# 列表转字符串int(str),字符串到整数float(str),字符串浮点str(num),数到字符串//实现整除实现取余。
Python世界:函数模块知识点小结 部分笔记汇总,持续刷新中。区别于其他笔记之处在于,主要记录易错点坑点。函数内定义函数有啥优势,适用场景有哪些?函数的参数如形参、实参有啥区别?程序组织大小递进分类有?
Python世界:数据结构易错点小结 map, 一种映射方式, 作用到list的每个元素,映射关系为func,输出到迭代器中,iter = map(func, list), res = list(iter)部分笔记汇总,持续刷新中。区别于其他笔记之处在于,主要记录易错点坑点。列表中的,append与insert有啥差异?典型应用如address book。
Python世界:变量、运算符、表达式 比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 B 中的名称来说 A 中的作用域就为 nonlocal。变量作用域取决于其定义位置,直接访问一个变量,会从内到外依次访问所有的作用域直到找到,否则会报未定义的错误。定义在函数内部的变量、定义在函数声明中的形式参数,视为局部变量。定义在函数中,嵌套函数外,且被嵌套函数引用的变量,视为自由变量。定义在 .py 文件内的,且函数、类之外的变量,视为全局变量。,若未声明global,在函数内生效使用的是局部变量,
Python世界:人生苦短,我用Python 几句话说清,我们为啥要用Python?Python设计之初心,是为了解决编程门槛,让大家更聚焦业务实现,而非编程细节。当前人工智能火爆,Python更是被广为使用传播。
Python世界:复制粘贴?没那么简单!浅谈深拷贝与浅拷贝 Python由于是自动分配内存,就需要更深入的了解,每个拷贝赋值背后的内存结果,拷贝是引用还是赋值,赋值中又是深拷贝还是浅拷贝,上例看出,列表中的切片仅拷贝了第1层的内存是赋值,改变原始列表,第6行中的[3,4]新变量中值就被修改成了[1,4],但显然改变lst[1]是新变量值就没变的,而第11行中lst原始值并未被改变。此例中,我们可以看出,切片是复制了一片新内存给变量mylist,而第4行变量名字赋值,则只是传递的对象引用,并未申请新内存。深浅拷贝,x, y_res_copy, y_res_deep。
C学习:移位幻影之左移一个负数,会发生什么? C语言中,移位是个简单的问题,但又是个高风险的问题。简单在于,大部分场景都可以理解为乘或除2的幂。风险在于,C语言中对有符号数的移位与无符号数的移位异常场景,未定义:- 不同位宽转换时的移位过程如何处理?- 有符号数的左右移动,是逻辑移位,还是带符号移位?- 无符号数的移动中,移动数为负或超过了符号位宽如何处理?
Python世界:力扣题解1300,转变数组后最接近目标值的数组和,中等 翻译下,转变数组后最接近目标值的数组和,实际需求是:对给定无序数组及目标值,返回一个value值使数组里大于该值的均置换为value,从而使新数组的元素和,最接近target。题意可以转化为找区间内,最小的value生成sum和,满足条件target的值,而且最小到最大值的sum是升序的。本题的关键在于正确理解题意并转化到二分法的框架里,有序+上下界条件,最后是注意边界条件与目标结果的细节处理,要求的是。最后,要注意增补下结果在中间的用例。,最大值是数组的最大元素值。
Python世界:力扣题解875,珂珂爱吃香蕉,中等 最小速度能保证吃完,但耗时最大,最大速度能一定吃完,耗时最小。可初步判断为线上版本python2.x较老,整数相除模拟的是C实现,而线下版本python3.x较新,整数相除不尽结果是浮点。最小速度,若取数组中的最小值去吃,作为最慢速度吃,假如时间足够长,可能还不够慢。翻译下,需求是:对给定无序数组表示N堆香蕉,找到最小吃香蕉的速度k,且在h小时内吃完。最大速度,可取数组中的最大值,则数组的长度即为耗时,而已知条件数组的长度len<=h。但出现一个神奇的现象是,本地通过,但提交线上通不过,实在奇怪。
Python世界:力扣题110,平衡二叉树判别,easy 想练手下二叉树的遍历,结果在easy级上踩了坑,容我细细道来。注意本题中前置条件已默认是二叉树输入,不用考虑非二叉的输入场景。于是,我把题意理解为,求该树中最小遍历深度和最大遍历深度,两者之差不应超过1.所以,我们应该求:对每个左右子树求取最大深度,比较左右子树差异。翻译下,需求是:判断给定二叉数是否高度平衡。
Python世界:力扣题633,平方数之和,中等 本题思路很简单,只为重温下二分写法,发现值大的下移上界,发现值小的上移下界,直到上下界重合。要特别注意的是无target时,mid的偏移问题。翻译下,需求是:对给定数字c,确定是否有两个整数满足。
Python世界:力扣题解1712,将数组分成三个子数组的方案数,中等 此题关键点在于二分法左右边界的获取,需要对边界条件有很熟练的处理,同时注意题意处理和特殊用例,如全零大数组处理,可用排列组合Cm2公式来处理,获取理论值。翻译下,需求是:对给定无序数组划分成三组子数组,划分后要求左、中、右数组元素和递增,返回可划分的方法总数,若不可划分,则返回-1.第一个坑,读题失误,不是元素个数和递增,而是元素之和要递增。下面为错误做法,埋坑警戒。,导致[0, 0, 0, 0, 0, …]大数用例一直无法通过。这里也埋了个坑,最开始94行没有注意处理大数取余。
Python世界:力扣题704二分查找 重温下二分写法,思路很简单,发现值大的下移上界,发现值小的上移下界,直到上下界重合。翻译下,需求是:对有序数组进行查找指定数字,若有返回索引,若无返回-1.可进一步思考若有重复值时,如何找到最小重复索引或最大重复索引。要注意的是无target时,mid的偏移问题。二分核心:索引偏移存乎一心。
Python世界:自动化办公Word之批量替换文本生成副本 为提高办公效率,用python试手了一个word任务,要求如下:> 给你一个基础word文档A,格式为docx,名字为:A.docx。A文档中有表格和文字,要求是将里面的字符串`"完成绘画"`分别替换成`完成制作款式x`和`复习制作款式x`,输出相应副本,命名为对应序号增序文档,如:`1、A.docx, 2、A.docx`。>> 要求是输出1000份这样的增序文档。
Python世界:简易地址簿增删查改算法实践 编写一款你自己的命令行地址簿程序, 你可以用它浏览、 添加、 编辑、 删除或搜索你的联系人, 例如你的朋友、 家人、 同事, 还有他们诸如邮件地址、 电话号码等多种信息。所以,广大码农兄弟在开发中,务必注意这种类型的活儿,能让机器干就让机器干去,赶紧解放自己,聚焦到更有挑战的任务上去。个人测试下来,一句不改,完美实现了预期的Demo功能。这题没啥好总结的了,程序员要多练习逻辑和需求分析思维,然后结构化喂给AI,秒出答案。原本想,简单设计几组数据:从地址簿基础中获取。但这时懒人病突然犯了,于是就把上面的。
Python世界:将两个列表合成字典并排序任务实践 给定下面两个列表attributes和values,要求针对values中每一组子列表value,输出其和attributes中的键对应后的字典,最后返回字典组成的列表。该任务练习了字典的组合及排序,利用两份列表生成了字典键值对,同时对已生成的字典按照键、值分别进行升序、降序排列尝试,并验证了效果。第一问:如果让你对一个字典,根据值进行由高到底的排序,该怎么做呢?任务来源于极客时间专栏中,《Python核心技术与实战》第4章字典、集合,你真的了解吗?你能分别用一行和多行条件循环语句,来实现这个功能吗?
Python世界:力扣29题两数相除算法实践 除法运算本质是减法,从理解原理到真正实现还是有距离,建议初步理解后,不参考任何代码,完全自己复现一遍,体会更深。注意提示:目的就是提醒越界问题:-2^31/-1=2&31,超过了整数表达范围。本问题来自于力扣29题,在做完大数相乘后,顺带也看下两数相除。将两数相除,要求不使用乘法、除法和 mod 运算符。给定两个整数,被除数。