您现在的位置是:主页 > news > 花型图案设计网站/天津百度推广电话号码

花型图案设计网站/天津百度推广电话号码

admin2025/6/25 0:52:48news

简介花型图案设计网站,天津百度推广电话号码,注册网站云空间,外链代发工具高阶函数:我的理解就是闭包、内嵌函数举例:计数器:有问题么?问题出在basestep,对base赋值,局部变量,没有先定义改进:声明为非局部变量nonlocal,但是不要是global变量观察…

花型图案设计网站,天津百度推广电话号码,注册网站云空间,外链代发工具高阶函数:我的理解就是闭包、内嵌函数举例:计数器:有问题么?问题出在basestep,对base赋值,局部变量,没有先定义改进:声明为非局部变量nonlocal,但是不要是global变量观察…

高阶函数:我的理解就是闭包、内嵌函数

f872038d2914090529ab3483855a67d7.png

d0367aaa023e8bd26ff4c44a0e37be71.png

举例:

计数器:

e3caad48cd89aff1a791cceae962e5e2.png

有问题么?

问题出在base+=step,对base赋值,局部变量,没有先定义

改进:声明为非局部变量nonlocal,但是不要是global变量

7d757a4ed3f3db9fbd23ee876825c73c.png

3d6aa9216b34a8ce64a51ca5b31bdb93.png

观察一下:

id(f1)

id(f2)

f1==f2

自定义sort函数:

caff0800aadebf796f5f2f321d7ee91b.png

以下是加入reverse参数的改进:推荐flag的用法

0b88b0ed30d6e5bf8a397e4a6496fd20.png

改写为高阶函数,注意comp函数:

686cdf6605819732be3e3b6d6c5a41af.png

comp函数比较通用。可以抽象出来。如下:

a3810503bc708105e444c030e667dee0.png

再改写成高阶函数形式:

eb4e12db5f6a90cab7961bb7eae46e1e.png

先简化一下comp函数,使其不带reverse参数:

26837358d54f9c59c4fe98740dcbd5ab.png

替换成sort自己的调用:

1b48f9abd985cb392b73501db22ac397.png

再进一步改造comp函数为匿名函数lambda a,b:a

80f16acc14cd123e959f5dc2694abdd9.png

再改造一下,去掉reverse参数吗,由匿名函数比较关系决定升序还是降序

a5dad8ffb5deb8388ae0119bf0b99382.png

知识点补充:enumerate、集合set操作

>>> import random

>>> l=[random.randint(1,100) for i in range(5)]

>>> l

[10, 14, 62, 30, 45]

>>> print(list(enumerate(l)))

[(0, 10), (1, 14), (2, 62), (3, 30), (4, 45)]

>>> for e in enumerate(l):

print(e[0])

0

1

2

3

4

>>> for i,x in enumerate(l):

print(i,'   ',x)

0     10

1     14

2     62

3     30

4     45

>>> k=set(l)

>>> k

{10, 45, 14, 30, 62}

|  add(...)

|      Add an element to a set.

|

|      This has no effect if the element is already present.

|

|  clear(...)

|      Remove all elements from this set.

|

|  copy(...)

|      Return a shallow copy of a set.

|

|  difference(...)

|      Return the difference of two or more sets as a new set.

本文地址:https://blog.csdn.net/lm19770429/article/details/107057500

希望与广大网友互动??

点此进行留言吧!