1.foo = [{"name":"zs","age":19},{"name":"ll","age":54},
{"name":"wa","age":17},{"name":"df","age":23}]
根据age进行排序

2.foo = [{"name":"zs","age":19},{"name":"ll","age":54},
{"name":"wa","age":17},{"name":"df","age":23}]
根据age进行排序(倒序)

3.foo = [("zs",19),("11",54),("wa",17),(df,23)]
根据每个元组内的数字逆序排序

4.使用lambda函数对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为[0,2,4,8,8,9,-2,-4,-4,-5,-20],正数从小到大,负数从大到小

5.两种去空格的方法replace()、strip()
replace(旧字符,新字符)、strip()默认删除前后端空格,strip("0")删除前后端的字符0
6.python中find(),count(),index()函数的用法
①count()函数用来计数,计算字符串、列表、元组中出现某些元素的格式,aa.count("字符串/列表/元组", start,end)或str.count("字符串/列表/元组")
②index() 函数用于从列表、字符串中找出某个值第一个匹配项的索引位置。语法:list.index(x[, start[, end]])
③find() 函数检测字符串中是否包含另一个字符串,如果包含则返回初始索引位置,也就是第一次发现另一个字符串的位置,否则返回-1。str.find(strf, start=0, end=len(string))
7.进制转换
二进制转换成10进制 int("1101", 2)
10进制转换成2进制 bin(13)
8.迭代器和生成器的区别和优缺点?
迭代器:把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__()
生成器:使用了 yield 的函数被称为生成器(generator)
优点:Python中使用了迭代的概念,是因为当需要循环遍历一个较大的对象时,传统的内存载入方式会消耗大量的内存,不如需要时读取一个元素的方式更为经济快捷。
原理:
迭代器是个所谓的复杂的指针,具有遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。
一边生成一边计算后面元素的机制,称为生成器,生成器里面保存的是算法,只有需要用到才会计算后面的值
简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,而生成器内的所有变量参数都会被保存下来供下一次使用。
迭代器和生成器区别主要在于生成器可以做迭代器的事情,生成器是一种特殊的迭代器
9.请将[i for i in range(10)]改成生成器
直接用小括号括起来就行,(i for i in range(10))
10. Python中,*arg 和 *kwarg 分别代表什么含义,都有哪些作用?
*arg是可变参数,入参在函数中是一个元组,预先不知道用户会传多少个参数的时候使用
**kwargs是可变关键字参数,入参在函数中是一个字典,预先不知道用户会传多少个关键字参数的时候使用
11. python中list(列表)和tuple(元组)的区别
①列表中元素是可变的,元组中元素是不可变的
②相同点是都可通过索引去查询
③内存分配机制不一样,python内存机制分配给列表的内存空间往往是那种容易变更,且内存块比较小的内存空间,列表则不一样
④用途不一样,元组一般用来存放不变的数据,如返回值,枚举值等,作用是为了保护数据。
12. python中list(列表)和set(集合)的区别
①set中的元素不能重复,list中的元素可以重复
②set中元素无序,list中元素是有序的
13.python元组的使用场景
①让列表不可以被修改,保护数据
②作为函数返回值
14.Python的字典用什么实现的
哈希表
15.python内存管理机制
垃圾回收机制:
①引用计数:为每一个对象维护一个引用计数器,当一个对象的引用被创建或者复制时,(对象的引用)计数器+1,当一个对象的引用被销毁时,计数器的值-1,当计数器的值为0时,就意味着对象已经再没有被使用了,可以将其内存释放掉;
②标记清除:基于追踪回收技术实现的回收算法,第一阶段将所有对象打上标记,第二阶段将未打上标记的非活动对象内存回收;
②分代回收:基于标记清除,内存分为三代,青年代、中年代和老年代三个链表,新创建的对象放在青年代,链表数量达到上限后将没有被标记的对象回收,有标记的对象会被移到中年代链表,同样中年代链表数量达到上限后将没有被标记的对象回收,有标记的就被移到老年代。
内存池机制:
为了避免频繁的申请和释放内存,python的内置数据类型,数值、字符串 。
①对于 -5 ~ 257 范围内的数值,创建之后python会把其加入到缓存池中,当再次使用时,则直接从缓存池中返回,而不需要重新申请内存,如果超出了这个范围的数值,则每次都需要申请内存。
②字符串对象仅仅会保存一份,放在一个共用的字符串储蓄池中,并且是不可更改的,这也决定了字符串是不可变对象。
16.python中字典和json的区别
①字典是一种数据结构,json是一种数据类型,或者说是一种字符串
②字典中可以包含元组等数据,但是json中不能有元组等数据
③字典的key和value可以使用单引号和双引号,json只能使用双引号
④字典和json可以通过json.loads()和json.dumps()相互转换
⑤字典中的value不能是null,但是json中的value可以是null
17.python常用的包有哪些
①http请求的包request
②字典和json之间进行序列化的包json
③时间模块time和datetime
④日志模块logging
⑤正则表达式模块re
18. Python的高阶函数有哪些,分别都有什么作用?
高阶函数就是一个函数可以把其他的函数当作参数。
如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,
咱们下期见!答案获取方式:已赞 已评 已关~
学习更多知识与技巧,关注与私信博主(03)
