base_review
简述Python的字符串驻留机制。
- 字符串驻留是一种仅保存一份相同且不可变字符串的方法。 - 原理 - 系统维护interned字典,记录已被驻留的字符串对象。 - 当字符串对象a需要驻留时,先在interned检测是否存在,若存在则指向存在的字符串对象,a的引用计数减1; - 若不存在,则记录a到interned中。 - 优点 - 在字符串比较时,节省大量内存。非驻留比较效率为o(n),驻留时比较效率为o(1)。 - 驻留情况 - 字符串只在编译时进行驻留,而非运行时。 - 字符串长度为0和1时,默认都采用了驻留机制。 - 字符串>1时,且只含大小写字母、数字、下划线时,才会默认驻留。 - 用乘法得到的字符串 - 乘数为1时 - 仅含大小写字母、数字、下划线,默认驻留。 - 含其他字符串 - 长度<=1,默认驻留。 - 长度>1,默认不驻留。 - 乘数大于1时 - 仅含大小写字母、数字、下划线,长度<=20,默认驻留 - 仅含大小写字母、数字、下划线,长度>20,默认都不驻留 - 其他字符串时,和长度无关,不驻留。 - 字符串被sys.intern() 指定驻留。 - [-5, 256]之间的整数数字,Python默认驻留。
现有字典d={'a': 26, 'g': 20, 'e': 20, 'c': 24, 'd': 23, 'f': 21, 'b': 25},请按照字中的 value字段进行排序.
print(dict(sorted(list(d.items()), key=lambda x: x[1])))
如何实现[‘1’,’2’,’3’]变成[1,2,3] ?
print(list(map(lambda x: int(x), ['1', '2', '3'])))
print([int(i) for i in ["1","2","3"]])
py2项目如何迁移成py3
python3自带工具2to3.py 转换 python2.x 代码 到python3 位置在Python36/tool/script文件夹。 py 2to3.py -w d:/xxxx/xxx.py