Python   2023-03-13 21:46   679   0  
1.快速排序 a.原理 快速排序的基本思想是在待排序的 n 个元素中任取一个元素(通常取第一个元素)作为基准,把该元素放人最终位置后,整个数据序列被基准分割成两个子序列,所有小于基准的元素放置在前子序列中,所有大于基准的元素放置在后子序列中,并把基准排在这两个子序列的中间,这个过程称为划分。然后对两个子序列分别重复上述过程,直到每个子序列内只有一个元素或空为止。这是一种二分法思想,每次将整个无序序列一分为二。归位一个元素,对两个子序列采用同样的方式进行排序,直到子序列的长度为1或0为止。(摘自算法分析与设计第二版 有删改) b.代码  def quick_sort(arr):     if len(arr) <= 1:         return arr     pivot = arr[len(arr) // 2]#轴     left = [x
Python   2023-03-11 03:23   701   0  
41、 list(chain(*[[1,2],[3],[4,5,6]])) chain也是itertools中的一个函数,可以起到拼接列表的作用。 from itertools import chain >>> list(chain(*[[1,2],[3],[4,5,6]])) [1, 2, 3, 4, 5, 6] 42 、op = {"add":lambda a,b:a+b, "minus":lambda a,b:a-b} Python中没有switch..case表达式,而字典+lambda表达式可以弥补这一点。上式中,op["add"]表示调用函数lambda a,b:a+b,即加法;op["minus"]表示调用函数lambda a,b:a-b,即减法。 正因lambda表达式并不需要命名,所以也称匿名函数。 >>> op = {
Python   2023-03-10 07:16   654   0  
21 、a = 1,2,3 逗号分隔的变量会默认组成元组,元组会根据等号左边变量的个数来进行赋值。 >>> a = 1,2,3 >>> a (1, 2, 3) 22 、a,b = 1,2 元组可以通过元素对应的位置来进行一一赋值,由此而带来的便利就是可以更快速地交换两个变量的值。 >>> a,b = 1,2 >>> print(a,b) 1 2 >>> b,a = a,b >>> print(a,b) 2 1 23、 print(f"a={a}") 在python中,字符串前面可有四种前缀,其中f代表字符串格式化,即format,在f字符串中,大括号内部会自动转换为变量。 >>> print(f"a={a}") a=2 24 、a = False
Python   2023-03-08 02:26   635   0  
11 import antigravity import用于导入Python模块,antigravity是一个彩蛋性质的模块,导入之后会打开一个反重力漫画 12 pip install numpy 在命令行中运行pip命令,可安装相应的模块,然后在Python中输入import numpy as np,就可以导入numpy包,并给与其np的标识,从而可用np.来调用numpy中的函数。 13 x = np.arange(10) 生成一个自然序列,与range相似,但是np.arange得到的可进行运算的数组(array)。 >>> x = np.arange(10) >>> x array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 14 x**2 只是演示一
Python   2023-03-03 03:07   672   0  
从新手到高手,从菜鸟到大神,精选90行代码,来看看你能看懂多少行?
Mark_N
我努力是因为我什么都没有却什么都想要
闲言碎语
你有诗和远方也没用,生活对你虽远必诛。